黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Application.OpenForms

系統 2072 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條評論