当前位置:编程学习 > C#/ASP.NET >>

C#怎么把类的变量传递给窗体~

可以直接用吗???????????????? --------------------编程问答-------------------- 可以传类的对象,再通过类的对象获取类的变量 --------------------编程问答-------------------- 除了窗体传值之外,你可以建一个PublicClass 之类的公共类 里面

public static Student stu;

你在A窗体赋值,B窗体就可以调用了 --------------------编程问答-------------------- 是public static的可以直接ClassName.ParameterName使用。 --------------------编程问答-------------------- 谢谢,能否给个例子 --------------------编程问答-------------------- 是方法中的变量 --------------------编程问答-------------------- 可以啊。。。一看就是新手问题。。你A窗体
public static string name="张珊";
。。
在B窗体调用的时候,直接
A.name就可以了、、 --------------------编程问答-------------------- 不是啊,是类里的变量· --------------------编程问答--------------------  string name = context.Request.QueryString["name"];

                string password = context.Request.QueryString["password"];

                string locus = context.Request.QueryString["locus"]; --------------------编程问答-------------------- 直接将类在第一个初始窗体声明成静态类   --------------------编程问答-------------------- 假设有个People类;
在A窗体里
public static People pe = new People();
pe.name ="张三";

在B窗体里,

string PeopleName = A.pe.name;

--------------------编程问答-------------------- 关键我那个不是全局变量啊,是局部变量,局部变量能够覆盖掉全局变量吗?方法内部的变量 --------------------编程问答--------------------  我改一下:public static People pe = new People() { Pname="张三"}; //new的时候直接赋值或者在方法中给pe赋值,方法之外是没法给pe赋值的。 --------------------编程问答--------------------


一般的窗体传值用法:


public class Form2 : Form
    {
        string Pname = "";

        public Form2(string name)
        {
            Pname = name;
            InitializeComponent();
        }
      
...

Form1 中new Form2时,写

 Form2 f2 = new Form2("张三");


--------------------编程问答-------------------- 无奈我写到一个方法里了 --------------------编程问答--------------------
namespace Test
{
    public partial class Form1 : Form
    {
      public static Form1 _this = null;
        public Form1()
        {
            InitializeComponent();
            _this = this;
        }
        public string parm = "Hello";

    }

    public class Test 
    {
      public Test() 
      {
        Console.Write(null==Form1._this? "Form1 is not initialized!":Form1._this.parm);
      }
    }
}


我一直用这个方法,楼主可以参考下

大体思路是:在Form中定义一个静态变量,指向自身(实际上是个引用),然后就可以用这个引用调用Form中的public 字段了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,