C# 使用C中另一个表单的Textbox值在ComboBox中添加项#

C# 使用C中另一个表单的Textbox值在ComboBox中添加项#,c#,winforms,combobox,C#,Winforms,Combobox,我有两个窗口窗体,Form1和Form2Form1有一个组合框,Form2有一个文本框和一个按钮 我希望你能帮我做这个。我希望发生的是,如果我在Form2中的TextBox中输入一个字符串值,并点击同样位于我的Form2中的按钮1,该TextBox的值将是位于我的Form1中的组合框的一个项目 我只是想问一下,我们是否有办法做到这一点?你能给我举个例子吗?我期待您的帮助。我认为最好的选择是通过事件在表单之间进行沟通。所以,点击按钮事件触发一个事件并从表单1订阅它。引发事件时,将文本添加到组合框中

我有两个窗口窗体,
Form1
Form2
Form1
有一个
组合框
Form2
有一个
文本框
和一个
按钮

我希望你能帮我做这个。我希望发生的是,如果我在
Form2
中的
TextBox
中输入一个字符串值,并点击同样位于我的
Form2
中的
按钮1
,该
TextBox
的值将是位于我的
Form1
中的
组合框的一个项目


我只是想问一下,我们是否有办法做到这一点?你能给我举个例子吗?我期待您的帮助。

我认为最好的选择是通过
事件在表单之间进行沟通。所以,点击按钮事件触发一个事件并从表单1订阅它。引发事件时,将文本添加到组合框中

表格2:

internal event EventHandler<string> NewItemToAdd;
void button1_clicked(object sender, EventArgs e)
{
    if(NewItemToAdd != null)
        NewItemToAdd(textbox.Text);
}
内部事件处理程序NewItemToAdd;
已单击无效按钮1(对象发送者,事件参数e)
{
if(NewItemToAdd!=null)
NewItemToAdd(textbox.Text);
}

在Form1中,订阅事件
NewItemToAdd
,并在引发事件时将文本添加到您的组合框中

如果您包括迄今为止的尝试代码和/或遇到的障碍,这将非常有帮助,但这是一个简单的问题,搜索起来有点困难,希望这会有所帮助

首先,我假设您已经实例化并显示了这两个表单。接下来,您需要在解决方案资源管理器中找到Designer.cs(formNameHere.Designer.cs)文件,然后找到组合框的变量声明(应该在底部附近)。将其访问修饰符从“private”更改为更合适的值

现在返回Form1代码文件并将其添加到按钮单击事件处理程序:

form2.comboBox1.Items.Add(textBox1.Text);
。。。其中“form2”、“comboBox1”和“textBox1”是您发送新组合框项目的子表单、组合框和文本框


如果您还有其他问题,请告诉我。

这个问题(许多备选方案)以前已经被问过数百万次并回答过。我很抱歉,让我检查一下。但是,如果你不介意的话,你能给我发一些链接吗,先生?等等。在审查期间,您的帖子很可能会被标记为重复,您也会得到链接:)先生,它仍然没有解决我的问题:(您应该为您设置一种方法,从
Form1
访问
Form2
的实例,或者至少是
Form2
中的一个方法,该方法可以通过
Form1
访问/调用,以获取
Form2
中的
TextBox
的值。这样,您可以从
Form1获取
TextBox
的值de>很容易。否则,您可以通过其他方式(稍微困难一点)告诉
Form1
,例如使用TCP-IP传输字符串或将您的值放入文本文件…等等…先生,我的Form1只有一个组合框,而我的Form2有一个文本框和一个按钮…然后将说明从Form1切换到Form2。