نمایش نتایج 1 تا 6 از 6

نام تاپیک: مشکل با tabControl

  1. #1

    مشکل با tabControl

    سلام
    1)چطور میشه رنگ عنوان مربوط به تب ها را تغییر داد؟
    2)چطور میشه کاری کرد که وقتی وارد یک تبی میشیم به طور پیش فرض یکی از باکس ها فکوس شده باشه

  2. #2

    نقل قول: مشکل با tabControl

    جواب سوال اول :

    این کد رو فرم لود بزن :

    this.tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;
    this.tabControl1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.tab Control1_DrawItem);


    و این کد رو هم تو همون کلاس فرم بزار:

    private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
    {
    if (e.Index == tabControl1.SelectedIndex)
    {
    e.Graphics.DrawString(tabControl1.TabPages[e.Index].Text,
    new Font(tabControl1.Font, FontStyle.Bold),
    Brushes.Red,
    new PointF(e.Bounds.X + 3, e.Bounds.Y + 3));
    }
    else
    {
    e.Graphics.DrawString(tabControl1.TabPages[e.Index].Text,
    tabControl1.Font,
    Brushes.Black,
    new PointF(e.Bounds.X + 3, e.Bounds.Y + 3));
    }
    }


    جواب سوال دوم : (اگه سوال رو درست فهمیده باشم)

     private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
    {
    if (tabControl1.SelectedIndex == 1)
    {
    textBox1.Focus();
    }
    }

    با کلیک روی تب دوم تکست باکس 1 که تو همون تب هست به حالت انتخاب در میاد.

  3. #3

    نقل قول: مشکل با tabControl

    تشکر مهندس فقط بعد از رنگی شدن تب ها : موقعیت تب ها چپ به راست میشه
    باید راست چین بشه

    private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
    {
    if (e.Index == tabControl1.SelectedIndex)
    {
    e.Graphics.DrawString(tabControl1.TabPages[e.Index].Text,
    new Font(tabControl1.Font, FontStyle.Bold),
    Brushes.Red,
    new PointF(e.Bounds.X + 3, e.Bounds.Y + 3));
    }
    else
    {
    e.Graphics.DrawString(tabControl1.TabPages[e.Index].Text,
    tabControl1.Font,
    Brushes.Black,
    new PointF(e.Bounds.X + 3, e.Bounds.Y + 3));
    }
    }



  4. #4

    نقل قول: مشکل با tabControl

    برای این کار هر دو خاصیت RightToLeft و RightToLeftLayout تب رو True کن.
    و کد رویداد tabControl1_DrawItem رو به شکل زیر تغییر بده:

     private void TabControl1_DrawItem(object sender,
    System.Windows.Forms.DrawItemEventArgs e)
    {
    var tabRect = this.tabControl1.GetTabRect(e.Index);
    tabRect.Inflate(-2, -2);
    var sf = new StringFormat(StringFormat.GenericDefault);
    if (this.tabControl1.RightToLeft == System.Windows.Forms.RightToLeft.Yes &&
    this.tabControl1.RightToLeftLayout == true)
    {
    tabRect =new Rectangle(
    this.tabControl1.ClientRectangle.Width - tabRect.Width - tabRect.X,
    tabRect.Y,
    tabRect.Width,
    tabRect.Height);


    sf.FormatFlags |= StringFormatFlags.DirectionRightToLeft;
    }


    if (e.Index == tabControl1.SelectedIndex)
    {
    e.Graphics.DrawString(tabControl1.TabPages[e.Index].Text,
    new Font(tabControl1.Font, FontStyle.Bold),
    Brushes.Red,
    tabRect, sf);
    }
    else
    {
    e.Graphics.DrawString(tabControl1.TabPages[e.Index].Text,
    tabControl1.Font,
    Brushes.Black,
    tabRect, sf);
    }

    }

  5. #5

    نقل قول: مشکل با tabControl

    خیلی عالی بود مهندس تشکر

    راستی نمیشه این خاصیت نرمال باشه - چون فیکس که میشه تب یکخورده ناجور میشه
    this.tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;


  6. #6

    نقل قول: مشکل با tabControl

    ممنون - خواهش میکنم
    متاسفانه با این کد استایل تب به حالت کلاسیک و داخلی میره که امکان ویرایش داره ولی در حالت نرمال روی استایل ویندوز میره و TabControl1_DrawItem دیگه اثر نمیکنه بهش.
    اگه روی گرافیک حساس هستین پروژتون رو با WPF بسازید چون آزادی بسیار زیادی از این لحاظ داره.مثل تصویر زیر :


تاپیک های مشابه

  1. سوال: مشکل با دیتا گرید های داخل tabControl
    نوشته شده توسط mahtab.kamali در بخش C#‎‎
    پاسخ: 7
    آخرین پست: جمعه 16 فروردین 1392, 02:15 صبح
  2. مشکل با tabcontrol
    نوشته شده توسط f.nabavi در بخش VB.NET
    پاسخ: 4
    آخرین پست: سه شنبه 10 شهریور 1388, 12:04 عصر
  3. مشکل با Tabcontrol
    نوشته شده توسط hassan_kahrizy در بخش WPF
    پاسخ: 3
    آخرین پست: شنبه 15 فروردین 1388, 10:26 صبح
  4. سوال: مشکل با Tabcontrol
    نوشته شده توسط hassan_kahrizy در بخش C#‎‎
    پاسخ: 2
    آخرین پست: چهارشنبه 07 اسفند 1387, 07:36 صبح
  5. مشکل با Data Control ها
    نوشته شده توسط شیما.م در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 6
    آخرین پست: سه شنبه 26 فروردین 1382, 00:39 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •