我有2个窗体,Form1
和Form2
。 Form1
有ComboBox
,Form2
有Textbox
和Button
。
我希望你能帮助我解决这个问题。我想要发生的是,如果我在TextBox
的{{1}}中输入字符串值并点击同样位于我Form2
的{{1}},则值为Button1
将成为Form2
中我TextBox
的项目。
我想问一下,我们是否有办法做到这一点?你能为我提供一个例子吗?我期待着你的帮助。
答案 0 :(得分:0)
如果你包含你到目前为止的尝试代码,和/或你遇到的障碍,这会有很大的帮助,但是这是一个简单的问题,有点难以寻找,希望这会有所帮助。
首先,我假设您已实例化并显示两种形式。接下来,您将要在解决方案资源管理器中找到Designer.cs(formNameHere.Designer.cs)文件,然后找到组合框的变量声明(应该在底部附近)。从私人'更改其访问修改器更合适的事情。
现在返回到Form1代码文件并将其添加到按钮单击事件处理程序:
c => c.Consumer.Target.TargetType == typeof(Consumer1)
c => c.Consumer.ServiceType == typeof(Consumer1)
...其中' form2',' comboBox1'和' textBox1'是您的子表单,组合框和文本框,您将从中发送新的组合框项目。
如果您有任何其他问题,请与我们联系。
答案 1 :(得分:-1)
我认为最好的选择是通过events
在表单之间进行通信。因此,在按钮单击事件触发事件并从Form1订阅它。引发事件时,将文本添加到组合框
在Form2中:
internal event EventHandler<string> NewItemToAdd;
void button1_clicked(object sender, EventArgs e)
{
if(NewItemToAdd != null)
NewItemToAdd(textbox.Text);
}
在Form1中订阅事件NewItemToAdd
并在事件发生时将文本添加到组合框中