C#中传值的方法共有几种?烦请举例
展开全部
第一种方法就是静态变量机制,C#公布静态变量就是将该类的已有的实例公开,和VC做法雷同,假设我们在一个窗体中这么写:
public static String str="";
void loadForms(object sender,EventArgs e)
{
Form2 f=new Form2();
textBox1.Text=str;
f.ShowDialog();//一定不要用show
}
另一个窗体这么写:
private void listBox1_SelectItem(...) //listView选择事件
{
Form1.str=listBox1.SelectItem.Text;
}
意思就是打开Form2在Form2上选择listbox后form1不关闭会实时显示的。当然你也可以把str直接赋值,然后别的窗体show一下就可以了,直接使用他。这种方法就是静态传值。
第二种是封装属性,我把他固有的值当成属性封装起来 ,给属性赋值,如我在窗体Form2中写:
public string str
{
get{return textBox2.Text;}
set{textBox2.Text=value;}
}
那么Form中就可以这么写:
void loadforms(...)
{
Form2 f=new Form2();
f.str=dataGridView.Rows[0].Cells[0].Value.ToString(); //表格取值传给form2
f.ShowDialog();//要模态窗体
}
最后一种方法就是继承,当子类继承自主类时,就继承了他的成员变量,例如我在Form2中继承Form1,在Form2中就这么写:
namespace 命名空间.目录文件夹
{
public partial class Form2 : 命名控件.目录文件夹.Form1
{
public Form2()
{
...
}
//这里直接就可以使用Form1了 .......
}
}
在WEB中就多了楼上那位说到了一部分。其实还有remoting也可以传值,当你建立服务器的时候,remoting可以实时监控你的程序,实时传值响应客户端,下面太多写不下了,你自己找实例吧
2015-04-18
展开全部
get提交方式传值,也就是url参数传值;
post提交方式传值,即提交表单的方式传值;
cookie传值;
session传值;
application域传值!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询