簡體   English   中英

重寫Form.Text屬性

[英]Overriding Form.Text property

我試圖覆蓋Form.Text ,以便在出現在表單上之前修改Title

作為概念證明,我創建了這個類,它將用於代替直接繼承自Form

public class FormWithVersionNumber : Form
{
    [SettingsBindable(true)]
    public override string Text
    { 
        get
        {
            return "tester";
        }

    }
}

我希望從中繼承的所有表單都有Title "tester"但它始終是空白的。 我經歷過斷點,看不出有什么理由發生這種情況。 那是什么原因?

因為實際的Title不是從Text檢索的,而是從Control的內部屬性WindowText中檢索的。

以下是您可以執行的操作示例:

public partial class FormWithVersionNumber : Form
{
    public override sealed string Text
    {
        get
        {
            return base.Text + " 1.0.0.0";
        }
        set
        {
            base.Text = value + " 1.0.0.0";
        }
    }


    public FormWithVersionNumber()
    {
        InitializeComponent();

        Text = "Some Title";
    }
}

暫無
暫無

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

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