PDA

View Full Version : سوال: کامپوننت



*unos*
دوشنبه 15 اردیبهشت 1393, 15:27 عصر
ایا امکان داره یه کامپوننت از ترکیب چندتا کنترل ساخت ؟ یا اینکه تنها راهش همون یوزرکنترل هست ؟

Rejnev
دوشنبه 15 اردیبهشت 1393, 16:55 عصر
میتونید توی یک کلاس از یک کنترل پایه ارث بری کنید و داخل اون کلاس از کنترل های دیگه استفاده کنید. مثلا:

class MyTextBox :TextBox
{
Label lblWaterMark;
public MyTextBox()
{
lblWaterMark=new Label();
this.Controls.Add(lblWaterMark);
}

protected override void OnFocus(/*...*/)
{
//base.OnFocus(),...
lblWaterMark.Hide();
}
protected overrider void OnLeave(/**/)
{
//base.OnLeave(),...
if(this.Text.Length==0)
{
lblWaterMark.Show();
}
}
//... and other methods...
}

*unos*
چهارشنبه 24 اردیبهشت 1393, 21:17 عصر
یه مثال از یک لیبل در قسمت بالای درخت چه شکلی میشه ؟

Rejnev
چهارشنبه 24 اردیبهشت 1393, 23:18 عصر
class CustomTree:TreeView
{
private Label headerLabel;
public string HeaderLabelText{get{return headerLabel.Text;}set{headerLabel.Text=value;}}
public CustomTree()
{
headerLabel=new Label(){
AutoSize=false,
Left=0,
Top=0,
Width=this.Width,
/*...*/
};
this.Controls.Add(headerLabel);
}
}