关于DotNetBar中tabControl控件的tabItem上文字显示的问题

zicerock 2008-07-17 07:48:19
请用过DotNetBar控件集的大侠帮帮忙:
DotNetBar中的tabControl控件当tabItem设置在左侧时(TabAlignment=Left),tabItem上的文字呈上下排列,但每个文字是顺时钟90度颠倒的,要怎样才能既上下排列,每个文字又不会颠倒。
...全文
401 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ysd811225 2012-09-09
  • 打赏
  • 举报
回复
TabControl1属性里的style里,修改为SimulatedTheme,文字就是横排的了。
zicerock 2008-07-17
  • 打赏
  • 举报
回复
vs 自己的tabControl却不存在这样的问题,难道开发DotNetBar的公司习惯于偏着头用电脑吗,困惑中...
zicerock 2008-07-17
  • 打赏
  • 举报
回复
找了很久都没有发现相应的方法和属性,DotNetBar里控件的属性都比较多而且命名与ms的命名习惯有些出入,不太好找。所以求问用过DotNetBar的大虾是否有相关设置。还需自己重绘文字的话,那就失去用商用控件的意义了。
hongqi162 2008-07-17
  • 打赏
  • 举报
回复
设置tabControl的Alignment属性为Left后

private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
StringFormat format = new StringFormat();
format.FormatFlags |= StringFormatFlags.DirectionVertical;
format.Alignment = StringAlignment.Near;
format.LineAlignment = StringAlignment.Center;
e.Graphics.DrawString(tabControl1.TabPages[e.Index].Text, e.Font, new SolidBrush(Color.Black), e.Bounds.Left + 10, e.Bounds.Top + 8, format);
}

以上代码可以实现你要的那种效果了
liumang520 2008-07-17
  • 打赏
  • 举报
回复
up
hongqi162 2008-07-17
  • 打赏
  • 举报
回复


简单的使用tabControl做了个测试,没有安装这个组件,你修改一下下面的代码应该可以实现你的要求

设置tabControl的DrawMode属性为OwnerDrawFixed;


private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
StringFormat format = new StringFormat();
format.FormatFlags |= StringFormatFlags.DirectionVertical;
format.Alignment = StringAlignment.Near;
format.LineAlignment = StringAlignment.Center;
e.Graphics.DrawString(tabControl1.TabPages[e.Index].Text, e.Font, new SolidBrush(Color.Black), e.Bounds.Left + 20, e.Bounds.Top + 8, format);
}
hongqi162 2008-07-17
  • 打赏
  • 举报
回复
DotNetBar里的tabControl没有相对应的方法吗?应该有的

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧