调用combox的值
窗体1和窗体2
第一个问题:
窗体1中有comobox1和comboox2,两个控件集合都为:1,2,3.控件初始值为空;点击下一步时对comobox控件进行判断。
窗体1程序代码:
private void 下一步_Click(object sender, EventArgs e)
         {
             if ((comobox1.Text == null)|(comboox2.Text == null))
             {
                 MessageBox.Show("请输入值!", "错误提示");
             }
             else
             {
                 窗体2 obj = new 机器型式选择();
                 obj.Show();
                 this.Hide();
             }
         }
comobox的值为空,我运行程序后,messagebox没有显示而是直接进去窗体2。不知道是什么原因?
第二个问题:
comobox选择都为1后,在点击下一步后,进入窗体2我调用窗体1的comobox值.
代码:
public 窗体1 m_dyb;
if(Convert.ToSingle(m_dyb.comobox1.Text)==1)
{.....}
运行程序后报错:
未将对象引用设置到对象的实例。
偶未找到问题和解决的办法,望各位高手不吝赐教,小弟在此先拜谢了!
------解决方案--------------------第一個comobox1.Text為""
第二個m_dyb.comobox1不存在
------解决方案--------------------string.IsNullOrEmpty(comobox1.Text),这么判断,null和""是两码事
------解决方案--------------------
1、
comobox1.Text == null
===>
string.IsNullOrEmpty(comobox1.Text)
2、你虽然在窗体2里面声明了一个窗体里的实例m_dyb,但是这个m_dyb和你前面显示的窗体1不是一个,你可以通过窗体2的构造函数把窗体1的实例传过去,比如:
class 窗体2
{
 窗体1 _m_dyb;
 public 窗体1(窗体1 m_dyb)  
  {
   this._m_dyb = m_dyb;
   _m_dyb.comobox1.Text = "xxxx";
  }
}
---------------
else//实例化时
{
  窗体2 obj = new 机器型式选择(this);
 obj.Show();
 this.Hide();