• نمایش نام کنترل در فرمهای دیگر
    #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 مهمان