نمایش نام کنترل در فرمهای دیگر

بازدید17.5kپست ها2آخرین فعالیت10 سال پیش
0
0

سلام
نمیدونستم چی عنوان بزارم !

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

ممنون

0

اگر هدف شما فقط نمایش نام کنترله اصلا این کار پیشنها نمیشه! برای یه کار کوچیک فرم باز نکنید.
در هر صورت من کد رو برای شما قرار میدم:
فرم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]

[url]http://www.softafzar.net/thread599.html/[/url]

0

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

سوال برنامه نویسی دارید؟

ندونستن عیب نیست، نپرسیدن چرا!

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.