如何解决C#将数组列表值从一种形式添加到组合框
| 我想将数组列表的值取自单独的表单,然后将它们添加到另一表单的组合框中。我已经在form2中尝试过了。foreach (string fname in newname)
{
form1.comboBox1.Items.Add(fname);
}
但不会将值发送到组合框。现在,如果我在form1上添加它
base.AddOwnedForm(form2)
这在form2上
Form1 form1=(Form1)this.Owner
它可以工作,但是当您单击\“ X \”按钮时,form1将隐藏起来并且也不会关闭。 (这似乎是form2的继承属性)。
任何帮助将是巨大的!
解决方法
我不确定这是否就是您所需要的。我希望是:)。我正在学习C#+ winforms,所以我已将您的问题视为练习。
我创建了两个简单的表单(所有控件均默认命名)
第一个表单代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender,EventArgs e)
{
Form2 newForm = new Form2(this);
newForm.Show();
}
public void UpdateCombo(List<String> newName)
{
comboBox1.Items.Clear();
foreach (string fname in newName)
{
comboBox1.Items.Add(fname);
}
comboBox1.SelectedIndex = 0;
}
}
第二种形式的代码:
public partial class Form2 : Form
{
List<String> newName;
Form1 parent;
public Form2(Form1 parentIn)
{
parent = parentIn;
InitializeComponent();
}
void UpdateList()
{
newName = new List<String>();
for (int i = 1; i <= numericUpDown1.Value; i++)
{
if (i == 1)
newName.Add(\"1 duck\");
else
newName.Add(i.ToString() + \" ducks\");
}
}
private void numericUpDown1_ValueChanged(object sender,EventArgs e)
{
UpdateList();
parent.UpdateCombo(newName);
}
}
我希望代码可以自我解释,如果不能随意询问的话。如果比我更有经验的人来检查并批准它也会更好。
, 从父母向孩子发送东西时非常容易。当您朝另一个方向前进时,通常最好设置“事件处理”,以允许将值“回传”。
我不确定这是“最佳”教程,但它涵盖了使用委托在表单之间传递信息的“事件处理”:http://www.codeproject.com/KB/cs/PassDataWinForms.aspx。我认为这是一个开始了解事件处理在自己编写代码时的工作的好地方,而不是依赖于双击设计器中的表单元素。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。