none
כיצד לפתוח טופס בתוך טאב קיים של tabcontrol? RRS feed

  • שאלה

  • אני רוצה לפתוח טופס בטאב קיים על ידי לחיצה על כפתור מחוץ לTabControl. אם פתחתי כמה טאבים ולדוגמא הטאב השלישי כרגע פתוח ואני לוחץ על כפתור כדי לפתוח טופס, הטופס ייפתח בטאב הנוכחי, כלומר טאב שלישי. גם הטאב צריך לקבל את השם של הטופס שנפתח.

    הטופס החדש יחליף את הטופס הקיים בטאב הנוכחי.

    איך אני עושה את זה? 

    תודה.

    יום ראשון 16 פברואר 2014 12:03

תשובות

  • לא משנה, מצאתי פתאום לבד את התשובה.

    מדובר על Windows Application.

    הנה הקוד לפניכם:

    NewForm childForm = new NewForm ();
    
                //TopLevel for form is set to false
                childForm.TopLevel = false;
                //select current TabPage
                int curr = tabControl1.SelectedIndex;
                TabPage tbp = tabControl1.TabPages[curr];
                tabControl1.TabPages.Contains(tbp);
                tabControl1.TabPages[curr].Text = "שם הטופס החדש";
                tbp.Controls.Add(childForm);
                //Added form to tabpage
                childForm.WindowState = FormWindowState.Maximized;
                childForm.Show();
                Refresh();


    • נערך על-ידי michaelg90 יום ראשון 16 פברואר 2014 16:01
    • סומן כתשובה על-ידי pituachMVP, Moderator יום ראשון 16 פברואר 2014 16:21
    יום ראשון 16 פברואר 2014 16:00

כל התגובות

  • Windows Application? או WPF?

    בכל מקרה אין כזה דבר טופס בתוך טאב קונטרול, אלא רק פקד/פקד מותאם אישית.

    בשתי הטכנולוגיות קל להוסיף דף חדש/להסיר הנוכחי/להחליף את תוכנו.

    לא הבנתי טוב את המשפט: "אם פתחתי כמה טאבים..." אם זה שלוש ההתנהגות תהיה שונה?

    יום ראשון 16 פברואר 2014 13:02
  • לא משנה, מצאתי פתאום לבד את התשובה.

    מדובר על Windows Application.

    הנה הקוד לפניכם:

    NewForm childForm = new NewForm ();
    
                //TopLevel for form is set to false
                childForm.TopLevel = false;
                //select current TabPage
                int curr = tabControl1.SelectedIndex;
                TabPage tbp = tabControl1.TabPages[curr];
                tabControl1.TabPages.Contains(tbp);
                tabControl1.TabPages[curr].Text = "שם הטופס החדש";
                tbp.Controls.Add(childForm);
                //Added form to tabpage
                childForm.WindowState = FormWindowState.Maximized;
                childForm.Show();
                Refresh();


    • נערך על-ידי michaelg90 יום ראשון 16 פברואר 2014 16:01
    • סומן כתשובה על-ידי pituachMVP, Moderator יום ראשון 16 פברואר 2014 16:21
    יום ראשון 16 פברואר 2014 16:00
  • אהלן וברוך הבא לפורום :-)

    אני שמח לראות שסיפקת לנו את הפתרון שלך, זה בטח יכול לעזור לאדם הבא שיתקל באותה בעיה :-)

    אני ממליץ בעתמיד תמיד לספר לנו קודם באיזה טכנולוגיה אתה עובד (איזה סוג פרוייקט) ואם אפשר לצרף את הקוד או את הפרויקט

    גלישה מהנה


    [Personal Site] [Blog] [Facebook]signature

    יום ראשון 16 פברואר 2014 16:21
    מנחה דיון