日期:2014-05-16  浏览次数:20828 次

c#菜鸟问个问题
本帖最后由 u010010338 于 2014-03-12 00:59:25 编辑


public partial class Main : Form
{
    public static string event_str = "";
    AlarmForm alarmForm;

    private void alarm_timer_Tick(object sender, EventArgs e)
    {    
         //这里有个判断就不写了
         alarmForm = new alarmForm();
         alarmForm.Show();
    }
}

public partial class AlarmForm : Form
{
    private void alarmForm_Load(object sender, EventArgs e)
    {
         event_label.Text = Main.event_str;  //主要想问:为啥可以直接访问Main的成员?
    }
}

//alarmForm.designer里有这句
private void InitializeComponent()
{
     this.Load += new System.EventHandler(this.alarmForm_Load);
}

------解决方案--------------------
因为是static的,同时是public的。static的成员可以通过 类名.成员 的方式访问,而不需要实例化对象。public的成员可以在别的类访问。