hamid_hr
پنج شنبه 09 بهمن 1393, 11:31 صبح
سلام
من میخوام یه tabcontrol شخصی درست کنم
تو رویداد DrawItem اینا رو نوشت
Graphics g = e.Graphics;
var tbc = (TabControl)sender;
var rec = tbc.GetTabRect(e.Index);
Color Color1;
if (tbc.SelectedIndex == e.Index)
Color1 = Color.FromArgb(255, 255, 255);
else
Color1 = Color.FromArgb(0, 0, 0);
Color Color2 = Color.FromArgb(77, 194, 208);
LinearGradientBrush Br = new LinearGradientBrush(rec, Color2, Color1, LinearGradientMode.Vertical);
e.Graphics.FillRectangle(Br, rec);
SolidBrush brush = new SolidBrush(Color.Red);
StringFormat format = new StringFormat();
format.LineAlignment = StringAlignment.Center;
format.Alignment = StringAlignment.Center;
g.DrawString(tbc.TabPages[e.Index].Text, tbc.Font, brush, tbc.GetTabRect(e.Index), format);
یه این صورت در آومد و مشکلی هم نداره
128006
حالا زمانی که خاصیت rigthtoleft و righttoleftlyout رو true میکنم به این شکل در میاد
128007
تب ها میان سمت راست ولی اون کارایی که من کردم همون سمت راست قرار میگیرن
کسی میتونه کمک کنه بفهمم چطور میشه درستش کرد؟
من میخوام یه tabcontrol شخصی درست کنم
تو رویداد DrawItem اینا رو نوشت
Graphics g = e.Graphics;
var tbc = (TabControl)sender;
var rec = tbc.GetTabRect(e.Index);
Color Color1;
if (tbc.SelectedIndex == e.Index)
Color1 = Color.FromArgb(255, 255, 255);
else
Color1 = Color.FromArgb(0, 0, 0);
Color Color2 = Color.FromArgb(77, 194, 208);
LinearGradientBrush Br = new LinearGradientBrush(rec, Color2, Color1, LinearGradientMode.Vertical);
e.Graphics.FillRectangle(Br, rec);
SolidBrush brush = new SolidBrush(Color.Red);
StringFormat format = new StringFormat();
format.LineAlignment = StringAlignment.Center;
format.Alignment = StringAlignment.Center;
g.DrawString(tbc.TabPages[e.Index].Text, tbc.Font, brush, tbc.GetTabRect(e.Index), format);
یه این صورت در آومد و مشکلی هم نداره
128006
حالا زمانی که خاصیت rigthtoleft و righttoleftlyout رو true میکنم به این شکل در میاد
128007
تب ها میان سمت راست ولی اون کارایی که من کردم همون سمت راست قرار میگیرن
کسی میتونه کمک کنه بفهمم چطور میشه درستش کرد؟