Trouble setting combobox selectedindex from another form
我正在尝试根据用户在第一个表单 (form1) 上选择的索引在另一个表单 (form2) 上设置 selectedindex。
我正在使用此代码获取值,但它返回一个负数。
1 2 3 4 | public int SelectedComboIndex { get { return comboBox1.SelectedIndex; } } |
我正在尝试通过
设置组合框索引
1 | comboBox1.SelectedIndex = form1.SelectedComboIndex; |
谁能指出我正确的方向如何做到这一点?
编辑:更多代码用于调用 form1 上的代码
1 2 3 4 5 | Form1 form1 = null; public Form2(Form1 parentForm1) : this() { form1 = parentForm1; } |
如果没有选择索引,组合框会返回负值(通常为 -1)。
所以我相信(我没有检查过)如果你为 SelectedIndex 属性设置了一个负值,你要做的就是清除组合框中的选择。
希望对您有所帮助。
最佳实践是通常在表单的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | private Form1 _parentForm; public Form2(Form1 parentForm) : this() { _parentForm = parentForm; } public Form2() { InitializeComponents(); } private void Form2_Load(object sender, EventArgs e) { richTextBox1.Font = new Font("Times New Roman", 12f, FontStyle.Regular); dropdown(); if(_parentForm != null) comboBox1.SelectedIndex = _parentForm.SelectedComboIndex; comboBox1.DropDownStyle = ComboBoxStyle.DropDownList; } |
试试看它是否有效。只需确保将 Load 处理程序正确添加到表单中(通过设计器或通过
在代码中
正如其他人所说,如果
此外,仅仅因为您的
如果您希望用户能够打字,请考虑将