2011-04-28 202 views
0

你好 即時通訊新的C#和IM上的一個項目,在我犯了一個的UserControl1作爲 * 標籤文本框日期選擇器 *工作現在我Wnt信號改變標籤的文字,我嘗試此代碼,但它不能正常工作更改標籤文本

using System; 
using System.Windows.Forms; 

namespace library_system 
{ 
    public partial class UserControl1 : UserControl 
    { 
     public UserControl1() 
     { 
      InitializeComponent(); 
     } 

     // private string DateLabel 

     public string DateLabel 
     { 
      **get { return DateLabel.Text; }//error when i write dateLabel.Text 
      set 
      { 
       DateLabel.Text= value;//error datelabel.Text 
      }** 
     } 

即時使用此代碼在usercontrol是正確的做到這一點?

,並在主窗體我寫代碼 userControl11.DateLabel="From Date「; //對負載盛會 - 這是正確的 在此先感謝!

回答

4

你正在寫一個屬性,設置本身
如果。您的標籤名稱是lbl你可以簡單地使用lbl.Text="what you want";
如果你需要一個屬性來對文本較強的檢查,你可以寫:

public string DateLabel 
{ 
    get { return lbl.Text; } 
    set { lbl.Text = value; } 
} 

所以在你可以寫主窗體(假設你有一個名爲UC控制)

uc.DateLabel = "hello"; 

EDITED
需要明確的是:假設你有

  • 一個在你的UserControl1用戶控件命名lbl標籤
  • 一個名爲uc的主窗體中的UserControl1控件

在用戶控件的代碼,你可以寫:

public string DateLabel 
{ 
    get { return lbl.Text; } 
    set { lbl.Text = value; } 
} 

在主窗體,那麼你可以這樣寫:

uc.DateLabel = "what you want"; 
+0

我的標籤名是datelabel和datelable.Text不起作用 – Raghav 2011-04-28 11:06:02

+0

你得到的錯誤是什麼? – V4Vendetta 2011-04-28 11:12:03

+0

@Raghav:你必須告訴我們你放在主窗體上的UserControl1的名字。如果它是'uc',你應該使用'uc.DateLabel =「text」;' – Marco 2011-04-28 11:16:28

2

嘗試將其更改爲這個(控件名稱是你給你的標籤ID)

public string DateLabel 
     { 
      get { return controlname.Text; } 
      set 
      { 
       controlname.Text= value; 
      } 
     } 
+0

感謝你的答覆它現在工作 – Raghav 2011-04-28 11:23:53

1

你的房產被稱爲DateLabel,你正試圖設置它。 這沒有任何意義。

請嘗試以下操作。您需要將一個asp:Label拖放到您的usercontrol上,並將其命名爲lblDateLabel。

 
public string DateLabel 
{ 
    get { return lblDateLabel.Text; } 
    set { lblDateLabel.Text= value; } 
}