欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
winform(多窗體、菜單和工具欄)

一、多窗體

1、哪個(gè)是主窗體

利用From1的button將From2打開(kāi)

private void button1_Click(object sender, EventArgs e)        {            Form2 f2 = new Form2();            f2.Show();            this.Hide();//打開(kāi)From2時(shí),隱藏From1        }


光那樣出現的問(wèn)題:主窗體隱藏了,關(guān)閉其它窗體后,沒(méi)有將主窗體顯示/關(guān)閉,那么程序就關(guān)不上了

(1)、構造函數傳值,將窗體傳到另一個(gè)窗體中去

 首先打開(kāi)From2代碼,并選擇事件FormClosing

Form1 F1 = null;        public Form2(Form1 f1)        {            InitializeComponent();            F1 = f1;        }        private void Form2_FormClosing(object sender, FormClosingEventArgs e)        {            F1.Close();        }

然后將From1中的 Form2 f2 = new Form2();改為Form2 f2 = new Form2(this);

2、窗體只能打開(kāi)一個(gè)

在From1中創(chuàng )建一個(gè)全局的泛型集合,為了放置全部打開(kāi)的窗體

List<Form> flist = new List<Form>();
(1)、在窗體打開(kāi)之前,判斷集合中是否有name一致的窗體,如果有就說(shuō)明已經(jīng)打開(kāi)了,就不要再打開(kāi)了

將From1中button1的點(diǎn)擊事件改為

bool has=false;//From2是否已被打開(kāi)一次            Form2 f2 = new Form2(this);            foreach(Form F in flist)             {            if(F.Name==f2.Name)            {                has = true;            }            }            if (has)            { }            else            {                flist.Add(f2);                f2.Show();            }

問(wèn)題:當窗體打開(kāi)了,關(guān)閉后,就無(wú)法再次打開(kāi)了
辦法:當窗體關(guān)閉時(shí),清除Form1中集合中的此窗體對象記錄
首先在from 1添加一個(gè)函數

 public void deleteFrom(Form F)        {            flist.Remove(F);        }

然后在From2的FormClosing事件中改為

 if(F1!=null)            {                F1.deleteFrom(this);            }

問(wèn)題:當窗體已經(jīng)打開(kāi),再次點(diǎn)擊打開(kāi)按鈕,不會(huì )將已打開(kāi)的窗體重新顯示并焦點(diǎn)進(jìn)入
辦法:
找到已打開(kāi)對象,將WindowState屬性設置為:
找到已打開(kāi)窗體的對象,使用Focus方法;

在From1中button1的點(diǎn)擊事件中if(has){}中添加“ f2.Close();”,它起到釋放內存的作用

if(F.Name==f2.Name){has = true;}true;后添加F.WindowState = FormWindowState.Normal;//最小化或最大化時(shí)點(diǎn)擊按鈕恢復正常大小
F.Focus();//焦點(diǎn)進(jìn)入

3、窗體之間的傳值和控制

傳值:構造函數傳值

將From2的構造函數改為

public Form2(Form1 f1,string uname)
{
InitializeComponent();
F1 = f1;

label1.Text = "歡迎回來(lái)," + uname;
}

在From1中改為  Form2 f2 = new Form2(this,textBox1.Text);

控制:第一步,找到窗體對象,第二步,將窗體對象的控件值更改
注意:要將窗體中的對象訪(fǎng)問(wèn)權限修改為public

在From2中添加新建一個(gè)按鈕和文本框,點(diǎn)擊此按鈕的點(diǎn)擊事件,添加if(F1!=null){F1.button1.Text=Textbox1.Text}
4、提示框類(lèi)型的窗體

ShowDialog();

修改地方:

 Form2 f2 = new Form2(this,textBox1.Text);            f2.ShowDialog();

作用:

將窗體顯示為模式對話(huà)框。 在調用Form.ShowDialog方法后,直到關(guān)閉對話(huà)框后,才執行此方法后面的代碼

 二、菜單和工具欄

1、MenuStrip:
頂部菜單,可右鍵點(diǎn)擊插入標準項
分割線(xiàn):1、- 2、右鍵插入Separator

快捷鍵:每一個(gè)項右鍵屬性最下面ShortcuKeys可以設置快捷鍵,ShowShortcuKeys是否在該項上顯示快捷鍵
不管選項隱藏還是菜單隱藏,快捷鍵都管用

2、ContextMenuStrip:
右鍵菜單

在屬性 行為上ContextMeunStrip選擇您要關(guān)聯(lián)右鍵菜單,即可使用右鍵菜單,每一個(gè)控件都可以關(guān)聯(lián)右鍵菜單

3、StatusStript:
底部菜單

4、ToolStrip
工具條

5、ToolStripContainer
工具條容器

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Show() 與 ShowDialog() Form.Show()與application.run()區別
c# winform中窗體切換后釋放及防止重復生成
WPF 顯示模態(tài)窗口和窗體
C# Winform子窗體更改父窗體控件的值
獲取Form.ShowDialog() 出的窗體中textbox的返回值
Developer Express 之 XtraReport如何顯示設計窗體 - Cook...
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久