我有2个窗口窗体,他们都有相同的组合框与相同的可能选择。我想通过选择从一个组合框到另一个按钮点击。我传递值成功地文本框,但当谈到组合框,我不能弄清楚。
下面是代码示例:
表2定义
private double passTxt;
private string passCB;
public double passTxtValue
{
get { return passTxt; }
set { passTxt = value; }
}
public string passCbValue
{
get { return passCB; }
set { passCB = value; }
}
表格1发送
private void btnPassValues_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.passTxtValue = variable1Form1;
form2.passCbValue = CBForm1.SelectedText;
form2.Show();
}
Form 2-加载(打开)
private void form2_Load(object sender, EventArgs e)
{
variable1Form2.Text = passTxt.ToString();
CBForm2.SelectedText = passCB;
}
当我使用调试器检查时,错误出现在步骤2。Form 1为form2.passCbValue = CBValueForm1.SelectedText;
发送空字符串(“”)
当我尝试使用索引或值时,它需要强制转换,但是出现了一个错误,它不能被强制转换。有人能告诉我我做错了什么吗?
3条答案
按热度按时间vjhs03f71#
SelectedText表示DropDown样式的ComboBox的TextBox区域中当前选定的文本(蓝色突出显示的文本)。每次ComboBox失去焦点时(当您处于按钮单击事件中时,焦点在按钮上),此选择将被清除。
解决方法是在form1上传递combo的SelectedIndex(如果两个combo以相同的顺序填充相同的项)
在form2中,更改属性以获取整数而不是字符串....
在form2Load事件中
vcudknz32#
将其更改为:
u1ehiz5o3#
当你点击一个按钮或者执行这些代码行时,你会得到文本框或者组合框组件,其中填充了选定的值。
希望能有所帮助