سؤال

لدي DataGridView في إطار مشروط مع قائمة خيارات البرنامج.الشبكة اثنين collumns.أول واحد يحتوي على خانة الاختيار تحديد هذا الخيار ، seccond هو اسم/وصف هذا الخيار.Winform يحتوي أيضا على موافق إلغاء الأزرار ولكن هذا ليس موضوعنا.رمز أدناه ما أريد.بسبب FullRowSelect المنشأة تحديد خانة الاختيار/لحالها في النقر فوق أي مكان withint هذا الصف.إلا أنها لا تظهر خلفية زرقاء أو خط منقط حول الصف الحالي بعد الآن.كيف وأود أن تكون قادرة على إضافة هذا دون فقدان أي من الحالية وظيفة ؟

تحرير: إلى تفصيلا ؛ ما أريده هو أن مرة أخرى تمكين خط منقط و/أو خلفية زرقاء على الصف المحدد/الخلايا.يبدو أن رمز لدي حاليا بطريقة أو بأخرى تعطيل هذا...

ذات الصلة في القانون الحالي:

public OptionsForm()
{
    InitializeComponent();
    OptionsRoot = Options.GetReadOnlyRoot(OptionsBannersNameValueList.GetNameValueList(Settings.Default.OptionsBanners));
    optionsBannersDataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    optionsBannersDataGridView.MultiSelect = false;
    optionsBannersDataGridView.RowPrePaint += new DataGridViewRowPrePaintEventHandler(optionsBannersDataGridView_RowPrePaint);
    InitUI();
    Closing += MyFormClosing;
    BindingSourceTree = BindingSourceHelper.InitializeBindingSourceTree(components, rootBindingSource);
}

private void optionsBannersDataGridView_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
{
    e.PaintParts &= ~DataGridViewPaintParts.Focus;
}
هل كانت مفيدة؟

المحلول 2

وماذا أنا ened أخيرا فعل كان إزالة معظم رمز المذكورة أعلاه، لأنه حقا لا تفعل الكثير. لسبب ما عندما كنت تعيين الخصائص في الاستوديو البصري أنه لم ينجح، ولكن الآن لا. أنا لا أعرف ما حدث هناك ولكن أن يكون بجانب النقطة.

ومنشئ تبدو الآن مثل هذا:

public OptionsForm()
    {
        InitializeComponent();
        AlternativerRoot = Alternativer.GetReadOnlyRoot(AlternativerFanerNameValueList.GetNameValueList(Settings.Default.AlternativerFaner));
        InitUI();
        Closing += MyFormClosing;
        _bindingSourceTree = BindingSourceHelper.InitializeBindingSourceTree(components, rootBindingSource);
    }

ويتم تعيين خصائص في واجهة المستخدم الرسومية استوديو البصرية بدلا من ذلك. ومن المقرر SelectionMode إلى FullRowSelect ومن المقرر MultiSelect إلى زائفة.

وأنا لا تزال لم تحصل على التركيز أردت ذلك أنا وضعت BackColor في الصف المحدد إلى الأزرق وforecolor إلى الأبيض في الاستوديو المرئي. هذا وتعمل الآن مثل أردت أن.

وأنا ما زلت لا أعرف لماذا لم يحصل تعيين الخصائص بشكل صحيح في وقت سابق، ولكن على الأقل أنها تعمل الآن: P

نصائح أخرى

وأود أن محاولة استخدام .OnCellClick طريقة ضبط الصف اللون الأزرق.أعتقد أن عليك أن تكون قادرا على إضافة المنقطة الحدودية أيضا.

أعتقد أنك يمكن أن يطلق عليه مثل هذا:

optionsBannersDataGridView.OnCellClick += new DataGridViewCellEventArgs(optionsBannersDataGridView_OnCellClick);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top