社区
VC.NET
帖子详情
VC.NET2005里如何窗体传参?
wonder99wei
2010-04-27 05:24:14
主窗体调用参数设置窗体,设置完成后把设置后的参数传回给主窗体。
初学VC.NET,以前用C#,全局静态变量传参,属性传参都知道。但是不知道在VC.NET里如何用,或者说不明白VC.NET的传参方法。望不吝指教。多谢。
...全文
121
4
打赏
收藏
VC.NET2005里如何窗体传参?
主窗体调用参数设置窗体,设置完成后把设置后的参数传回给主窗体。 初学VC.NET,以前用C#,全局静态变量传参,属性传参都知道。但是不知道在VC.NET里如何用,或者说不明白VC.NET的传参方法。望不吝指教。多谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wonder99wei
2010-05-05
打赏
举报
回复
ly302,非常感谢。
虽然你发的是C#里面的传参方式。但对我还是有帮助的。谢谢。
我最后是采用静态变量传参,这个比较简单。
实现方法:
子窗体中:
public static v1;
提交事件中对v1赋值(把txtBox值赋予)
主窗体:
子窗体 z=gcnew 。。。。
z->show()
主窗体传参对象=z->v1;
尹成
2010-04-29
打赏
举报
回复
定,支持楼主!高手帮忙解答下啊!
粉丝鸡蛋
2010-04-28
打赏
举报
回复
求解!!
皇城龙三
2010-04-27
打赏
举报
回复
WinForm窗体传值
了解了窗体的显示相关知识,接着总结一下窗体的传值方法:
1.通过构造函数
特点:传值是单向的(不可以互相传值),实现简单
实现代码如下:
在窗体Form2中
int value1;
string value2;
public Form2 ( int value1 , string value2 )
{
InitializeComponent ( );
this.value1 = value1;
this.value2 = value2;
}
在窗体Form1中这样调用
new Form2 ( 111 , "222" ).Show ( ); //这样就把111,"222",这2个值传送给了Form2
2.通过静态变量
特点:传值是双向的,实现简单
实现代码如下:
在一个app类中定义一个静态成员value
public class app
{
public static string value;
}
在窗体Form1中这样调用
app.value = "f2"; //给静态成员赋值
new Form2 ( ).Show ( ); //显示Form2
在窗体Form2中
this.Text = app.value; //取回app.value的值
app.value = "Form2"; //给app.value赋值,以便其他窗体调用
3.通过窗体的公有属性值
特点:实现简单
实现代码如下:
在窗体Form2中定义一个公有属性Form2Value,获取和设置textBox1的文本值
public string Form2Value
{
get
{
return this.textBox1.Text;
}
set
{
this.textBox1.Text = value;
}
}
在窗体Form1中这样调用
Form2 f2 = new Form2 ( );
f2.Form2Value = "Ok"; //给Form2的textBox1赋值Ok
f2.ShowDialog ( );
4.通过窗体的公有属性值和Owner属性
特点:实现简单,灵活
实现代码如下:
在窗体Form1中
public int Form1Value = 1;
Form2 f2 = new Form2 ( );
f2.ShowDialog ( this ); //把Form1作为Form2的所有者传递给Form2
在窗体Form2中
//Form2的所有者是Form1
Form1 f1 = ( Form1 ) this.Owner;
//取到Form1的值是1
MessageBox.Show ( f1.Form1Value .ToString ( ) );
//给Form1的Form1Value赋值222
f1.Form1Value = 222;
5.通过窗体的公有属性值和Application.OpenForms属性
说明:Application.OpenForms属性:获取属于应用程序的打开窗体的集合。(此属性在 .NET Framework2.0版中)
实现代码如下:
在窗体Form1中
public int Form1Value = 1;
Form2 f2 = new Form2 ( );
f2.Show ( );
在窗体Form2中
string formName = "Form1";
Form fr = Application.OpenForms [ formName ];
if ( fr != null )
{
Form1 f1 = ( Form1 ) fr;
//取到Form1的值是1
MessageBox.Show ( f1.Form1Value.ToString ( ) );
//给Form1的Form1Value赋值222
f1.Form1Value = 222;
}
6.通过事件
实现代码如下:
在窗体Form2中定义公有属性Form2Value,获取和设置textBox1的文本值
并且还定义一个accept事件
public string Form2Value
{
get
{
return this.textBox1.Text;
}
set
{
this.textBox1.Text = value;
}
}
public event EventHandler accept;
private void button1_Click ( object sender , EventArgs e )
{
if ( accept != null )
{
accept ( this , EventArgs.Empty ); //当窗体触发事件,传递自身引用
}
}
在窗体Form1中
Form2 f2 = new Form2 ( );
f2.accept += new EventHandler ( f2_accept );
f2.Show ( );
void f2_accept ( object sender , EventArgs e )
{
//事件的接收者通过一个简单的类型转换得到Form2的引用
Form2 f2 = (Form2) sender;
//接收到Form2的textBox1.Text
this.textBox1.Text = f2.Form2Value;
}
VC
/MFC子
窗体
向父
窗体
传递参数的几种方法
VC
/MFC子
窗体
向父
窗体
传递参数的几种方法 典型问题举例
窗体
和子
窗体
均有一个Edit控件和一个按钮,点击父
窗体
按钮显示子
窗体
;点击子
窗体
按钮后,子
窗体
中Edit控件的值显示在在父
窗体
中的Edit控件中...
DDE在vb
.net
中的应用
很早的时候做过DDE方面的程序,那是在
2005
年刚来深圳的时候,公司的一个产品需要在excel中动态显示数据,临时做了这么个东西,那个产品是vb
.net
做的,因此就现在
vc
下面测试后移到vb中应用,还真的成功了。...
C#中
窗体
间传递数据的几种方法
C#中
窗体
间传递数据的几种方法 在编写C#windows应用程序的时候我们经常会遇到这种问题,怎么样在两个
窗体
间...(与
VC
的回调的应用相似) 1.可以通过委托的方法来解决 问题:通过form1做一个录入界面,将
里
边通过文本...
C#中
窗体
间传递数据的几种方法(转载)
总结C#中
窗体
间传递数据的几种方法 (由别人的方法整理) 在编写C#windows应用程序的时候我们经常会遇到这种问题,怎么样在两个
窗体
间传递数据呢?以下是我整理的网上的各种方法,在遇到一个实际问题:在form1中...
C#与
VC
相互调用之
VC
调用C#的DLL库
在之前的博文 C#与
VC
相互调用之C#调用
VC
的DLL https://blog.csdn
.net
/xinxin_2011/article/details/86704660
里
面讲了C#程序如何调用
VC
的DLL,这
里
我们来介绍
VC
程序调用C#的DLL。 项目创建 打开VS2010,因为涉及到两...
VC.NET
7,540
社区成员
27,673
社区内容
发帖
与我相关
我的任务
VC.NET
.NET技术 VC.NET
复制链接
扫一扫
分享
社区描述
.NET技术 VC.NET
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章