你的位置:首页 > ASP.net教程

[ASP.net教程]多窗体,构造函数传值,打开唯一窗体的办法/菜单 工具栏


多窗体:1、哪个是主窗体问题:主窗体隐藏了,关闭其它窗体后,没有将主窗体显示/关闭,那么程序就关不上了 Form2:---Form1 F1 = null;    public Form2(Form1 f1)    {      InitializeComponent();      F1 = f1;    }Form1:---      Form2 f2 = new Form2(this);      f2.Show();      this.Hide();点击1登录到2 ,1消失 。 关闭2, 1、2 都消失  1、构造函数传值,将窗体传到另一个窗体中去   用Form2 窗体属性里的 Fromclosing 双击进去 F1.Close(); 关闭主窗体F1   窗体属于顶级控件,不能被放在其他容器里2、窗体只能打开一个  创建一个全局的泛型集合,为了放置全部打开的窗体     List<Form> Flist = new List<Form>();  1、在窗体打开之前,判断集合中是否有name一致的窗体,如果有就说明已经打开了,就不要再打开了      bool has = false;      Form2 f2 = new Form2();      foreach (Form F in Flist)      {        if (F.Name == f2.Name)        {          has = true;        }      }      if (has)      {      }      else      {        Flist.Add(f2);        f2.Show();      }  问题:当窗体打开了,关闭后,就无法再次打开了  办法:当窗体关闭时,清除Form1中集合中的此窗体对象记录form1:  public void DelectForm(Form F)    {      Flist.Remove(F);//移除    }form2: public partial class Form2 : Form  {    Form1 F1 = null;    public Form2( Form1 f1)    {            InitializeComponent();      F1 = f1;    }   private void Form2_FormClosing(object sender, FormClosingEventArgs e)    {      if (F1 != null)      {        F1.DelectForm(this);      }    }  问题:当窗体已经打开,再次点击打开按钮,不会将已打开的窗体重新显示并焦点进入  办法:  找到已打开对象,将WindowState属性设置为:Normal  找到已打开窗体的对象,使用Focus方法;F.Focus    最小化,也弹出, 焦点进入   F.WindowState = FormWindowState.Normal;3、窗体之间的传值和控制传值:构造函数传值form1: private void button1_Click(object sender, EventArgs e)    {      if (textBox1.Text == "liuxin" && textBox2.Text == "1234")      {        Form2 f2 = new Form2(this,textBox1.Text );        f2.Show();        this.Hide();form2:public partial class Form2 : Form  {    Form1 F1 = null;    public Form2(Form1 f1,string Uname)    {      InitializeComponent();      F1 = f1;      label1.Text = "欢迎回来"+Uname;    }  }控制:第一步,找到窗体对象,第二步,将窗体对象的控件值更改    注意:要将窗体中的对象访问权限修改 访问权限修改为 public F1.button1.Text = textBox1.Text;4、提示框类型的窗体ShowDialog();作用:点开第二个窗体 不关闭 不能点上一个窗体 Form2 f2 = new Form2(this,"111");      f2.ShowDialog();TabIndex 更改数字 按数字大小 依次用tab 往下走TabStop 到某个上面停止 窗体--  杂项--  Acc.....Button -- 选择按钮 用回车启动  Can.....Button -- esc启用 取消








 

------------------------------------------------------
菜单和工具栏:

1. MenuStrip --顶部菜单

分割线1. “-”号 ,2. 右键 插入 split

快捷键:每一个项右键属性的最下面可以设置快捷键
不管选项隐藏还是菜单隐藏,快捷键都管用

2、ContextMenuStrip:
右键菜单 每个控件都可以有右键菜单

3、StatusStript:
底部菜单

4、ToolStrip
工具条

5、ToolStripContainer
工具条容器 四边 移动