日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Application.OpenForms

系統 1948 0
今天不小心遇到一個有點弱智的問題,當然這個問題基本對你沒有任何影響。

.NET FX 2.0 WinForm 提供了 Application.OpenForms 屬性,便于我們獲取已 "打開" 的窗體。相信下面的代碼你非常熟悉。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form form = Application.OpenForms["form2"];
if (form == null)
{
form = new Form2();
}

form.Show();
form.BringToFront();
}
}

這代碼會有問題嗎?跟著我做……

創建 WinForm 項目,然后創建 Form1、Form2 兩個窗體,在 Form1 上添加一個按鈕,然后輸入上述事件代碼。注意,我們目前沒有修改任何 Form2 的設置。運行一下,多次點擊按鈕,你看到了什么? 這就是我說的問題,Form2 被多次創建,也就是說 Application.OpenForms["form2"] 始終返回 null。怎么會這樣?打開 Form2.Designer.cs,看看 InitializeComponent()。
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Text = "Form2";
}

倒~~~~ 自動生成的代碼根本沒有 this.Name="Form2"。一旦更改 Form2.Size 或其他屬性,代碼才會變成下面這樣。
private void InitializeComponent()
{
this.SuspendLayout();
//
// Form2
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(711, 427);
this.Name = "Form2";
this.Text = "Form2";
this.ResumeLayout(false);

}

好了,小笑話到此結束。本文沒有多大實際意義,純粹搞笑~~~~~~

Application.OpenForms


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成武县| 淮安市| 常宁市| 古浪县| 松潘县| 石阡县| 繁昌县| 临武县| 马鞍山市| 诸城市| 惠安县| 镇宁| 上栗县| 蒙自县| 武冈市| 南城县| 镇康县| 九龙县| 屏山县| 太康县| 梅河口市| 新巴尔虎左旗| 甘泉县| 财经| 博客| 博野县| 永福县| 千阳县| 惠州市| 探索| 安宁市| 石阡县| 梁河县| 普兰店市| 济南市| 武汉市| 溧阳市| 墨脱县| 荣成市| 民县| 威宁|