我Form1自定义了一个类,
public class MyClass   
{   
public string username;
public string Username
{
get
{
return username;
}
set
{
username = value;
                }
        }
}
想在Form3那里用,我在form1一个按钮里写代码如下
MyClass mc = new MyClass();
mc.Username = userid.Text;
Form3处一label这样写
username1.Text = mc.Username;
提示mc缺少using指令或程序集引用,请问是怎么回事?自定义的类应该在哪里定义?使用要不要加什么东西?谢谢了

解决方案 »

  1.   

    你的Mc隻在button那個事件裡有效..出了那個范圍就不能訪問了
      

  2.   

    把MyClass定义成Static的试试看:public static class   MyClass       
    {       
    public static  string   username; 
    public  static  string   Username 

    get 

    return   username; 

    set 

    username   =   value; 
                                    } 
                    } 

      

  3.   

    如果你只是要在Form3中使用Form1的Username 
    在给Form3加一构造方法Form3(Username);构造时直接传过去
    如:
    Form1中:
    MyClass   mc   =   new   MyClass(); 
     mc.Username  =   userid.Text; 
    Form3 f = new Form3(mc.Username);
    f.show();Form3中
    Form3(Username)
    {
     username1.Text   =   mc.Username; 
    }
      

  4.   

    按三楼的说,提示是修饰符static对该项(MyClass)无效
      

  5.   

    username1.Text       =       mc.Username;   
    改为username1.Text       =       Username;   
      

  6.   

    我是有很多Form的,想弄个全局的,能够都可以用到
      

  7.   

    6楼的,不行,直接就说我Form3没Username了...
      

  8.   

    Form3(Username) 

      username1.Text       =       Username;   

    你要传进去这个参数啊,只要传了,不可能说没有
      

  9.   

    类不是定义窗体下面,是定义下命名空间下面的,只是你写的时候和某个窗体定义在一起的。你可以对里写一个class文件里面的
      

  10.   

    你能不能分层哦 也就是分为
    表示层,
    业务逻辑层,
    业务实体层,
    数据保护层,
    数据访问层,
    和接口
    private string userName;//是业务实体层 public string UserName
    {
    get
    {
    return userName;
    }
    set
    {
    userName = value;
    }
    }
      

  11.   

    这是Form1的namespace A
    {
    ...
            public class Login_Form : System.Windows.Forms.Form
    {

    public class MyClass   
    {   
    public string username;
    public string Username
    {
    get
    {
    return username;
    }
    set
    {
    username = value;
    }
    }
    }
             }
             ...

    }这是Form3的namespace 学生宿舍管理系统
    {

            public class Pwdedit_Form : System.Windows.Forms.Form
    {
    ...
                    private void username_Click(object sender, System.EventArgs e)
    {     
    username1.Text = mc.Username;
    }
                    ...
    }
    }请问要怎么改,谢谢啊~~~
      

  12.   

    Form1处还有个按钮代码private void button1_Click(object sender, System.EventArgs e)
    {
    MyClass mc = new MyClass();
            mc.Username = userid.Text;

    }MyClass mc = new MyClass();这句放在外面也是不行的,不知道是不是放错地方
      

  13.   

    写在 CLASS类里 然后FORM1 ,3引用
      

  14.   

    给你一个多窗体之间通讯的例子,我下面这个例子三个窗体之间的通讯,主窗体和A窗体中分别放一个label来显示数据,B窗体中放一个按钮,用一个Count来统计点击的次数,然后把点击的次数在主窗体和A窗体中显示出来..
    主窗体using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;namespace WinFormExample
    {
        public partial class MainForm : Form
        {
         
            public MainForm()
            {
                InitializeComponent();
                OtherForm form = new OtherForm();
                form.recorder += this.ShowCount;
                form.Show();            Form1 f1 = new Form1();
                form.recorder += f1.showCount;
                f1.Show();
                
            }
            private void ShowCount(string count)
            {
                this.label1.Text = "你己点击窗体" + count + "次";
            }
        
        }
    }
    A窗体:using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;namespace WinFormExample
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                
            }
            public void showCount(string showCounter)
            {
                this.label1.Text = "你己点击窗体" + showCounter + "次";
            }    }
    }B窗体using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;namespace WinFormExample
    {
        public partial class OtherForm : Form
        {
            public delegate void ShowInfo(string info);
            public ShowInfo recorder;
            private int counter = 0;
            public OtherForm()
            {
                InitializeComponent();
          
            }      
            
            private void button1_Click(object sender, EventArgs e)
            {
                counter++;
                if (recorder != null)
                    recorder(counter.ToString());
            }
           
        }
    }