سؤال

لديّ ToolStripcombobox في Toolstrip ، وعندما أضغط على مفتاح Tab فيه ، فإنه يركز على زر Toolstrip التالي. أرغب في تغيير هذا السلوك وإعطاء التركيز على صندوق RichText على النموذج بدلاً من ذلك.

المشكلة هي أن ToolStripComboBox ليس لديه حدث معاينة. لا يتم استدعاء المعاينة من شريط أدوات ToolStrip استضافة عند الضغط على مفتاح Tab في التحرير والسرد (فقط عند الضغط عليه وتركيز بعض Toolstripbutton).

TabStop من شريط أدوات ToolStrip خاطئ.

أيه أفكار؟

هل كانت مفيدة؟

المحلول

يمكنك التقاط هذا على مستوى النموذج ، قبل أن يمسك التحكم في ToolStrip بالمفتاح. تجاوز طريقة ProcessCMDKEY () ، اجعلها تشبه هذا:

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
        if (keyData == Keys.Tab && this.ActiveControl == toolStripComboBox1.Control) {
            richTextBox1.Focus();
            return true;
        }
        return base.ProcessCmdKey(ref msg, keyData);
    }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top