补充: 一个窗体传值的类: public class ShareClass { public class ShareData { int _A; public int A { get { return _A; } set { _A = value; } } string _B; public string B { get { return _B; } set { _B = value; } }
有啊 public Form4(ShareClass.ShareData data2)这个样子的 别的窗口这样写都对的 为什么代码拷回来就出错了
写了Null不就传值传不进去了吗
构造函数被改的有参数了: 在加一个就 行了: public Form4() { InitializeComponent(); }
恩,就是写再写一个无参数构造函数就可以了试试在说 如:Public Form4() { ; }
new 对象 首先运行的是构造函数啊。 一个类如果没有构造函数,new对象时会提供一个默认的。 但如果你的构造函数有参数,new对象就要符合构造函数的参数了。
对啊 关键是去看看Form4 中的构造函数
一个用来传递窗口数据的类: public class ShareClass { public class ShareData { int _A; public int A { get { return _A; } set { _A = value; } } string _B; public string B { get { return _B; } set { _B = value; } } string _C; public string C { get { return _C; } set { _C = value; } }
} } 数据接收方是form4 数据传送方是AddItem 所以我在form4中写了 public Form4(ShareClass.ShareData data2) { //InitializeComponent(); ss = data2.B; }然后在program.cs中写了 static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form4()); }然后这样就出现错误了:form4不支持0个参数的重载 在form4中加了个 public Form4() { //InitializeComponent();
一个窗体传值的类:
public class ShareClass
{
public class ShareData
{ int _A; public int A
{
get { return _A; }
set { _A = value; }
}
string _B; public string B
{
get { return _B; }
set { _B = value; }
}
} }form4是主窗体 、点击弹出 AddItem 、然后获得AddItem上所填的数据之后 点击确定 关闭AddItem 回到form4界面
在传值的时候 AddItem页面需要写这样一句话
Form4 frm = new Form4(data1);//将赋好值的class传递到Form4
this.Close();是不是这里出错了
form4已经在AddItem下面了为什么还要new
汗。。
有啊 public Form4(ShareClass.ShareData data2)这个样子的 别的窗口这样写都对的 为什么代码拷回来就出错了
在加一个就 行了: public Form4()
{
InitializeComponent(); }
如:Public Form4()
{
;
}
一个类如果没有构造函数,new对象时会提供一个默认的。
但如果你的构造函数有参数,new对象就要符合构造函数的参数了。
public class ShareClass
{
public class ShareData
{ int _A; public int A
{
get { return _A; }
set { _A = value; }
}
string _B; public string B
{
get { return _B; }
set { _B = value; }
}
string _C; public string C
{
get { return _C; }
set { _C = value; }
}
} }
数据接收方是form4 数据传送方是AddItem
所以我在form4中写了
public Form4(ShareClass.ShareData data2)
{
//InitializeComponent();
ss = data2.B;
}然后在program.cs中写了 static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form4());
}然后这样就出现错误了:form4不支持0个参数的重载
在form4中加了个 public Form4()
{
//InitializeComponent();
}
可是这样数据就不能传递过来了要咋么办呀