সি # এর জন্য কম্বোবক্সে উপাদানগুলির সম্পাদনা কীভাবে অক্ষম করবেন?


157

আমার একটি কম্বোবক্সে কিছু উপাদান রয়েছে (উইনফরমগুলি সি # দিয়ে)। আমি তাদের বিষয়বস্তু স্থিতিশীল হতে চাই যাতে কোনও ব্যবহারকারী অ্যাপ্লিকেশনটি চালিত হওয়ার সাথে সাথে মানগুলিতে পরিবর্তন করতে না পারে। আমিও চাই না যে ব্যবহারকারী কম্বোবক্সে নতুন মান যুক্ত করুক

উত্তর:


300

কম্বোস্টাইল সম্পত্তিটি ব্যবহার করুন:

comboBox.DropDownStyle = ComboBoxStyle.DropDownList;

38
এটি ডিজাইনারের বৈশিষ্ট্য উইন্ডোতেও সেট করা যেতে পারে।
জেফ্রি

3
সাম্প্রতিক সংস্করণগুলির সাথে আপনি ব্যবহার করতে পারেনcombo.Properties.TextEditStyle = DisableTextEditor
কিশার্পেনার

21

এটি আমি ব্যবহার করি এমন অন্য একটি পদ্ধতি কারণ এটি পরিবর্তন DropDownSyleকরে DropDownListএটি 3 ডি এবং কখনও কখনও এটির সরল কুশল দেখায়।

আপনি KeyPressএভাবে কম্বোবক্সের ইভেন্টটি পরিচালনা করে ব্যবহারকারীর ইনপুট প্রতিরোধ করতে পারেন ।

private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
      e.Handled = true;
}

4
আপনি ডিজাইনার এর উপস্থিতি পরিবর্তন করতে পারেন, ফ্ল্যাটস্টাইল :)
স্টিংকিগেট

3
@ স্টিংকিগ্যাট পপ আপ তালিকার চেহারা পরিবর্তন করে না, কেবল ফর্মের নিয়ন্ত্রণ।
লগার

আপনার ডান ক্লিক মেনু হ্যান্ডেল করতে হবে যেখানে আপনার বিকল্পও রয়েছে Paste। আমি এখনই জানি না।
সিনাতর

3
ঠিক আছে, অপসারণ Pasteকরতে আপনাকে জাল ফাঁকা প্রসঙ্গ মেনু তৈরি করতে হবে এবং এটি কম্বোবক্সে নির্ধারণ করতে হবে।
সিনাতর

7

ইয়া সম্পত্তিগুলিতে ড্রপডাউনস্টাইলকে ড্রপডাউনলিস্টে পরিবর্তন করতে পারে। এটি ফিল্টারটির জন্য পাঠ্যবক্সটি প্রদর্শন করবে না।

ড্রপডাউনস্টাইল সম্পত্তি
(স্ক্রিনশটটি ফিউশন CHA0S সরবরাহ করেছে ))


0

আমি কম্বোবক্স 1_কিপ্রেস চেষ্টা করেছি তবে এটি চরিত্রটি মুছতে দেয় এবং আপনি অনুলিপি পেস্ট কমান্ডও ব্যবহার করতে পারেন। আমার ড্রপডাউনস্টাইলটি ড্রপডাউনলিস্টে সেট করা আছে তবে এখনও কোনও ব্যবহার নেই। সুতরাং আমি কম্বোবক্স পাঠ্য সম্পাদনা এড়াতে পদক্ষেপের নীচে করেছি।

  • কোডের নীচে হ্যান্ডলগুলি & ব্যাকস্পেস কী মুছে দেয়। এবং নিয়ন্ত্রণ কী (যেমন সিটিআর + সি বা সিআরটি + এক্স) এর সংমিশ্রণটি অক্ষম করে

     Private Sub CmbxInType_KeyDown(sender As Object, e As KeyEventArgs) Handles CmbxInType.KeyDown
        If e.KeyCode = Keys.Delete Or e.KeyCode = Keys.Back Then 
            e.SuppressKeyPress = True
        End If
    
        If Not (e.Control AndAlso e.KeyCode = Keys.C) Then
            e.SuppressKeyPress = True
        End If
    End Sub
  • ফর্ম লোডে মাউস ক্লিকের মাধ্যমে কাটা / পেস্ট এড়াতে কম্বোবক্স নিয়ন্ত্রণের ডান ক্লিক অক্ষম করতে লাইনের নীচে ব্যবহার করুন।

    CmbxInType.ContextMenu = new ContextMenu()
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.