首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

自定义控件向主窗体传值后,窗体中的TextBox失去之后没有显示出来

2013-09-29 
自定义控件向主窗体传值后,窗体中的TextBox得到之后没有显示出来我自定义了一个控件,操作完之后通过点击自

自定义控件向主窗体传值后,窗体中的TextBox得到之后没有显示出来
我自定义了一个控件,操作完之后通过点击自定义控件上的一个按钮,将值传回给主窗体中的TextBox并显示出来。但是值传过去了,但是没有显示出来
主窗体中是:

 public string TextBox1
        {
            set
            {
                textBox1.Text = value;
                MessageBox.Show(textBox1.Text);
                textBox1.Refresh();
            }
        }

并且MessageBox弹出了应该显示的值,但是在窗体中的TextBox1没有显示
自定义控件是:
 
  Form1 form1 = new Form1();
            form1.TextBox1= toFormMessage;

怎么办?哪里有问题?希望各位高手帮帮小弟 C# 自定义控件 窗体传值
[解决办法]
传值的位置写错了吧!            
form1.TextBox1= toFormMessage
Form1 form1 = new Form1(form1.TextBox1);


[解决办法]
少年 Form1 form1 = new Form1(); 
有两个Form1对象了哦!!!
[解决办法]
控件里面添加事件
public delegate void DataChangeEventDelegate(string data);
public event DataChangeEventDelegate DataChangeEvent;
在你的button1_Click计算完数据后触发事件 
并把计算获得的data值传给 DataChangeEvent(data);事件

然后在form的你所使用的控件里面找到DataChangeEvent事件 
添加事件触发方法
        private void DataChangeEvent(string data)
        {
            tbk1.Text = data;
        }
从而是form上的 tbk1控件获得数据
[解决办法]
4楼说的是对的:
 Form1 form1 = new Form1();
 form1.TextBox1= toFormMessage;
这样form1又没有显示出来,它里面的TextBox当然是看不见的。
[解决办法]
你在 自己定义的控件里写一个 委托 就是给 text赋值 之后调用委托
[解决办法]
那你到底是什么问题,你标题上是说:
“窗体中的TextBox得到之后没有显示出来”
现在又说:
“我并不想再显示一个新窗体”
难道你的意思要TextBox脱离窗体自己显示出来?
[解决办法]
思路有问题,你不应该在自定义空间里调用form1,应该在form1中调用自定义控件的方法,然后在form1中传值!

热点排行