簡體   English   中英

用自定義控件代替現有控件

[英]Substituting custom control for existing control

我有一個WinForms表單,上面有幾個文本框。 我需要將其中一些更改為TextBox的自定義版本(我必須覆蓋一個函數)。 由於整個新控件只是這一個函數,我只需要在幾行代碼中完成所有操作,就像我的表單中的包含類一樣。 現在我想將設計器生成的文本框的實例更改為代碼中此實例的實例。 這可以以某種方式完成嗎?

如果它不能,並且我必須在我的項目中添加一個全新的UserControl項,我是否至少可以在設計器中替換它而不會丟失所有屬性更改和事件處理程序綁定?

描述

查看<YourFormName>.Designer.cs文件。 這是Designer創建的文件。 您可以通過這種方式將TextBox更改為自定義。

樣品

#region Windows Form Designer generated code
private void InitializeComponent()
{
    // change this
    this.textBox1 = new System.Windows.Forms.TextBox();
    this.SuspendLayout();
    // 
    // textBox1
    // 
    this.textBox1.Location = new System.Drawing.Point(0, 0);
    this.textBox1.Name = "textBox1";
    this.textBox1.Size = new System.Drawing.Size(100, 20);
    this.textBox1.TabIndex = 0;
    // 
    // Form1
    // 
    // ...

}

#endregion

// change this 
private System.Windows.Forms.TextBox textBox1; 

轉到表單類或表單的designer.cs類中的InitializeComponent()方法。 在此方法中,您將找到文本框控件的用法,現在轉到這些用法的定義,並將文本框變量的類型更改為自定義實現的文本框類型。

暫無
暫無

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

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