В приложении C# я работаю с настраиваемыми файлами .designer
при активации формы Security Policy
Я вижу следующее. Я меченный каждый кадр в форме с A, B, C, и D, а также выделен желтым цветом текст, который фактически выделен (и начала вкладки позиция), когда форма активна:Загадочная закладка в WinForm
Очевидно, мне хотелось бы, чтобы этот текст был желтым до не был выделен, а для позиции начального положения было первым текстовым полем формы.
Мои попытки исправить эту проблему:
- Я посмотрел в
.designer
файл для формы, и обнаружили, что всеTabIndex
свойства были в порядке. ФреймыTabIndex
были установлены в последовательном порядке от 0 до 3. Тем не менее я удалил все из них. - Я также потрошил все другие свойства управления, которые, как я чувствовал, могут нести ответственность за выделение и позицию по умолчанию.
- Я просмотрел файл
.cs
, который ищет какой-либо метод.Focus()
или.Select()
. Я попытался использовать
Select()
методFrameA
сthis.fraFrameA.Select();
, а также
this.FrameAControl1.Select();
, но они не имели никакого эффекта.
Я заказана весь состав
.designer
файла вручную (для испытательных целей) таким образом, что его структура выглядит следующим образом: (Если вы не чувствуете, как смотреть через него, в основном каждая часть в порядке отFrameA
кFrameD
):this.fraFrameA = new //control type here this.fraInteriorFrameInFrameA = //control type here // all of the Frame A controls // //Same as above for frames B, C, and D // // frmLoginSecurity // this.Name = "frmLoginSecurity"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Security Policy"; this.MaximizeBox = false; this.MinimizeBox = false; this.ShowInTaskbar = false; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Location = new System.Drawing.Point(3,22); this.ClientSize = new System.Drawing.Size(442,694); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.Icon = ((System.Drawing.Icon) (resources.GetObject("frmLoginSecurity.Icon"))); // //Each Frame's properties followed by their respective subcontrol's properties // //Controls // this.Controls.Add(fraFrameA); //all FrameA subcontrols // //Controls added similarly for Frames B, C, and D // //Add all of my event handlers // public Controls.ControlType fraFrameA; //all fraFrameA subcontrols // //Declared similarily for Frames B, C, and D //
свойства управления по-прежнему остается в моей .designer
файл после потрошения:
- Имя, Максимум/Минимум, расположение, размер, стоимость, Текст, BorderStyle и Caption
Теперь я полностью потерял, как к тому, что можно было бы принуждая в моей форме по умолчанию позиция табуляции равна FrameD
и выделяется первое текстовое поле внутри нее. Возможно, мне не хватает чего-то тривиального, но что еще может привести к тому, что моя форма будет по умолчанию равна FrameD
? Может ли одно из еще существующих свойств, которое я перечислил, повлиять на позицию активации по умолчанию?
Обратите внимание, что я в Visual Studio 2008
Благодарим вас за возвращение, чтобы опубликовать ваши результаты. –