我不确定这是否是您需要的。我希望它是:)。我正在学习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);
}
}
我希望代码是自我解释的,如果不是随意问的话。如果有人比我更有经验会检查和批准,那也会更好。
为什么你在foreach循环中使用newname [x]?不应该只是form1.comboBox1.Items.Add(fname);? – Grizzly 2011-06-13 22:38:34
发布更多程序代码。具体来说,Show/ShowDialog。我怀疑当你改变为AddOwnedForm时,它不再是一个对话框。 – 2011-06-13 22:38:36
对不起,它被origionaly设置为form1.comboBox1.Items.Add(fname);只是在玩它,并试图在阳光下的一切。 – user770344 2011-06-13 23:24:57