نمایش نام کنترل در فرمهای دیگر
#1
Note 
سلام
نمیدونستم چی عنوان بزارم !

من یک Panel دارم که X تا کنترل از نوع UserControl به اون اضافه شده ،
چطوری کاری کنم که وقتی موس بره روی یک کنترل ، فرم2 باز شه و اسم اون کنترل رو توی Textـه فرم2 بنویسه ؟(از ToolTip نمیخوام استفاده کنم)

ممنون

See your dreams every where  and every time , try to remember your dreams because a man lives with his dreams forever
پاسخ
#2
Note 
اگر هدف شما فقط نمایش نام کنترله اصلا این کار پیشنها نمیشه! برای یه کار کوچیک فرم باز نکنید.
در هر صورت من کد رو برای شما قرار میدم:
فرم1:
[CSHARP]
Form frm = null;

private void Form1_Load(object sender, EventArgs e)
{
// ADD EVENT TO ALL CONTROLS PLACED IN THE PANEL
foreach (Control controlItem in panel1.Controls)
{
controlItem.MouseHover += new EventHandler(INF_show);
controlItem.MouseLeave += new EventHandler(INF_hide);
}
}

public void INF_show(object sender, EventArgs e)
{
// OPEN THE FORM AND SEND CONTROL NAME FOR CONTRUCTOR
string ctrlName = ((Control)sender).Name;
frm = new Form2(ctrlName);
frm.Show();
}

public void INF_hide(object sender, EventArgs e)
{
frm.Close();
}
[/CSHARP]

فرم2:
پارامتر control_name رو به Constructor فرم 2 اضافه کنید و بعد مقدار رو بگیرید:
[CSHARP]
public Form2(string control_name)
{
InitializeComponent();
lblCnt.Text = control_name;
}
[/CSHARP]

+

پاسخ
#3
Note 
تو مثال بالا میتونی Modifiers کنترل رو روی public بذاری تا بتونی مستقیما ازتو فرم یک مقدارشو تغییر بدی.

***********
پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

کاربرانِ درحال بازدید از این موضوع:   1 مهمان