我的功能很简单,在点击一个按钮的时候,弹出一个窗体,这个时候把已经设置好的控件传过去,为什么接受不到?代码如下 主窗体: PAinputbudgetunitDialog paform;
private void button4_Click(object sender, EventArgs e)
{
paform = new PAinputbudgetunitDialog(setTreeViewData(), setComboBoxData());
paform = new PAinputbudgetunitDialog();
if (paform.ShowDialog() == DialogResult.OK)
{
textBox7.Text = paform.textBox1.Text; }
}
TreeView tree;
private TreeView setTreeViewData()
{
tree = new TreeView();
tree.Nodes.Add("aaaa");
tree.Nodes.Add("bbbb");
tree.Nodes.Add("cccc"); TreeNode ss = new TreeNode("ssssss");
tree.Nodes.Add(ss);
return tree;
}
ComboBox comb;
private ComboBox setComboBoxData()
{
comb = new ComboBox();
comb.Items.Add("你好");
comb.Items.Add("你好");
comb.Items.Add("你好");
comb.Text = "请选择";
return comb;
}
第二个窗体:构造函数如下;
public PAinputbudgetunitDialog(TreeView myTreeView,ComboBox mycombox)
{
InitializeComponent();
this.treeView1 = myTreeView;
this.comboBox1 = mycombox;
} 让我更不可以理解的是这里 也不让添加进去,断点的时候集合的的个数在变化的,每点一次加三个,就是不显示的
private void button1_Click(object sender, EventArgs e)
{
comboBox1.Items.Add("dddd");
comboBox1.Items.Add("cccc");
comboBox1.Items.Add("aaaa");
treeView1.Nodes[0].Nodes.Add("sssss");
}
高手快出现啊 ,等着要用的。
paform = new PAinputbudgetunitDialog();你这只实例化了 没有显示 而且还实例化两次
改成
paform = new PAinputbudgetunitDialog(setTreeViewData(), setComboBoxData());
paform.Show();
paform = new PAinputbudgetunitDialog();
调用了两次不同的构造,后面的会覆盖掉前面的实例
private void button1_Click(object sender, EventArgs e)
{
comboBox1.Items.Add("dddd");
comboBox1.Items.Add("cccc");
comboBox1.Items.Add("aaaa");
treeView1.Nodes[0].Nodes.Add("sssss");
}
你这 就是点一次 comboBox1的item就加3个的
paform = new PAinputbudgetunitDialog();
string stru = "";
public string Stru
{
get { return stru; }
set { stru = value; }
}