C#中传值的方法共有几种?烦请举例

 我来答
创作者zUzVB1Sl31
2015-04-18 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部

第一种方法就是静态变量机制,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
展开全部
  1. get提交方式传值,也就是url参数传值;

  2. post提交方式传值,即提交表单的方式传值;

  3. cookie传值;

  4. session传值;

  5. application域传值!

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式