怎么样打开新的Windows 窗体,并传参数? //假设有Form2这个窗体Form2 f2=new Form2();f2.Show(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在form2中定义public过程或变量frm = new form2frm.ShowDialogfrm.XXXfrm.dispose() 你可以在Form2里定义几个属性,然后给属性赋值,在Show即可,Form2 frm=new Form2();frm.属性1=参数1;frm.属性2=参数2;...frm.Show(); // /*or*/ frm.ShowDialog(); frm = new form2form2.cc="cc"form2:public string cc 那再请问一下,在Form2里面,怎样定义几个属性?我现在是什么都懂! 也可以给Form2加一个带参数的构造函数,然后传参class Form2:System.Windows.Forms.Form{ public Form2() //默认构造函数 { } public Form2(参数1,参数2,...参数n) { ... }}调用的时候Form2 frm=new Form2(参数1,参数2,...参数n);frm.Show(); // /*or*/ frm.ShowDialog(); 假设在Form2中:public string strInForm2;在Form1中:Form2 frm2=new Form2();frm2.strInForm2 = "Form1传给Form2的字符串";frm2.Show(); 添加一个带参数的构造函数然后用这个构造函数来new一个新的窗体就是了.如: private object m_someVar; //新添加的构造函数 public Form1(object someArgs) { InitializeComponent(); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // this.m_someVar = someArgs;//这里传进来了值. } 你也可以在窗体2的构造函数里如private string p1;public form2(string p1){ this.p1 = p1;}在form1中用form2 fr2 = new form2("csdn");fr2.show();呵呵!清楚了吧!!传参数的方法有很多,我这是在构造函数里传,还可以用公有属性,公有域,不过不推荐用公有域,因为他违返了封闭性原理!!! 假如你想在Form1中打开Form2,可以在Form2里定义几个变量(或者属性),然后给变量(或者属性)赋值,再用Show就ok了!Form2 frm = new Form();frm.a = aa;frm.b = bb;...frm.Show(); OK! //假设有Form2这个窗体Form2 f2=new Form2();f2.Show(); //假设有Form2这个窗体//Form2的属性aa,bb均为public的才行Form2 f2=new Form2();f2.aa=xxxx;f2.bb=yyyy;f2.Show(); 用构造函数就好了。Form2 f2=new Form2(type args,,,,);f2.Show();其中type为数据类型,args为参数,至于args怎么用,就看你Form2中的构造函数怎么设计了。 在VB.net中,用string x = Me.ParentForm.这里是你在父窗口中的方法或属性在C#string x = ((父窗体名)this.ParentForm).这里是你在父窗口中的方法或属性如果父窗口 aa 内有公用方法string void bb()调用如果下string x = ((aa)this.ParentForm).bb(); 我上面说的是到父窗体里取内容,与楼上的先给内容再show,有点不一样我这个可以动态。还可以必父窗体内的东东。当然要是公用的才能。 builderman(软件民工)说得很精典,让我顿时醒悟了!谢谢! WPF与WinForm的抉择[转贴] 一个简单的问题 求助求助求助求助...... 数据库频繁更新的一个问题 DataGridView 临时删除 和恢复 c# 正则表达式 中"\"的检测 请教C#WinForm下的UDP代码(服务器和客户端) 请问一个读word文件的问题。。。。 如何在HTML中引用變量的值做為超鏈接的地址 Visual Studio 2013 update 4 安装 Visual Studio Tools for Apache Cordova CTP3.1 报错 如何前置指定窗口? 高人救我。。。。。。。。
frm = new form2
frm.ShowDialog
frm.XXX
frm.dispose()
Form2 frm=new Form2();
frm.属性1=参数1;
frm.属性2=参数2;
...
frm.Show(); // /*or*/ frm.ShowDialog();
form2.cc="cc"
form2:
public string cc
我现在是什么都懂!
class Form2:System.Windows.Forms.Form
{
public Form2() //默认构造函数
{
} public Form2(参数1,参数2,...参数n)
{
...
}
}调用的时候
Form2 frm=new Form2(参数1,参数2,...参数n);
frm.Show(); // /*or*/ frm.ShowDialog();
public string strInForm2;
在Form1中:
Form2 frm2=new Form2();
frm2.strInForm2 = "Form1传给Form2的字符串";
frm2.Show();
public Form1(object someArgs)
{
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
this.m_someVar = someArgs;//这里传进来了值.
}
private string p1;
public form2(string p1)
{
this.p1 = p1;
}
在form1中用form2 fr2 = new form2("csdn");fr2.show();
呵呵!清楚了吧!!传参数的方法有很多,我这是在构造函数里传,还可以用公有属性,公有域,不过不推荐用公有域,因为他违返了封闭性原理!!!
Form2 frm = new Form();
frm.a = aa;
frm.b = bb;
...
frm.Show();
OK!
Form2 f2=new Form2();
f2.Show();
//Form2的属性aa,bb均为public的才行
Form2 f2=new Form2();
f2.aa=xxxx;
f2.bb=yyyy;
f2.Show();
Form2 f2=new Form2(type args,,,,);
f2.Show();
其中type为数据类型,args为参数,至于args怎么用,就看你Form2中的构造函数怎么设计了。
string x = Me.ParentForm.这里是你在父窗口中的方法或属性在C#
string x = ((父窗体名)this.ParentForm).这里是你在父窗口中的方法或属性
如果父窗口 aa 内有公用方法string void bb()
调用如果下
string x = ((aa)this.ParentForm).bb();
我这个可以动态。还可以必父窗体内的东东。当然要是公用的才能。