簡體   English   中英

為什么我看不到表單上的按鈕?

[英]Why can't I see my button on my form?

我正在學習C#,目前正在研究Windows窗體(因為我想繪制東西)。

我正在關注在線教程,並編寫了以下代碼:

using System;
using System.Windows.Forms;

public class Exercise : Form
{
    private Button btnSubmit;

    public Exercise()
    {
        btnSubmit = new Button();
        Controls.Add(btnSubmit);
    }
}

public class program
{
    public static int Main()
    {
        Application.Run();
        return 0;
    }
}

根據本教程的介紹,這應該在表單上定義一個按鈕,但是當我右鍵單擊並選擇“ View Designer”時,表單上沒有按鈕,並且當我嘗試運行它時,沒有任何提示。

據我所知,應該是按鈕的可視化表示形式是Controls.Add方法,但我看不到它。 去哪了

如果很重要,我可以通過選擇一個空項目,使其成為Windows窗體項目並向其添加一個類來啟動該項目。

您需要創建Exercise類的實例並運行它。

Application.Run(new Exercise());

1)在運行時創建的控件不會僅僅因為當時不存在而在設計器中顯示(稍后在運行應用程序時創建)。

2)您需要創建該表單類的實例並運行它,以便它可以獲取消息循環以提供急需的事件。

3)創建並添加控件是不夠的。 您還必須設置一些視覺屬性,例如位置,大小,標題。

我建議您使用圖形設計器來設計界面。

如果您確實想用代碼制作ui,則需要指定所有大小,位置和其他重要屬性。

如果這是您想要的,我建議您嘗試創建一個空的Windows窗體項目,使用圖形界面並查看設計器文件中的內容。 您將看到設計人員用來正確顯示控件的所有值。

這也稱為動態創建控件。 聲明變量並為其分配內存后,該控件可用但沒有主機,這使其不可見。 控件必須位於窗體之類的主機上。 Form類本身包含一個名為Controls的成員變量。 該成員保存放置在表單上的對象的列表。 若要指定必須實例化的控件必須位於窗體上,Controls成員具有一個名為Add的方法。 因此,要使對象成為表單的一部分,請將其變量傳遞給Add()方法。 這是一個例子:

仔細閱讀您發布的鏈接,然后復制並粘貼下一個示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM