如何创建自定义非矩形GroupBox?

5 c# user-interface user-controls visual-studio-2010 winforms

是否有可能制作出GroupBox如下图所示的图片?

如果本机控件不可能有任何可能支持此功能的免费自定义控件吗?

替代文字

dri*_*iis 6

不,框架中不存在这样的控制.您可以通过创建一个继承GroupBox的控件来自己制作一个.

  • @HPT:这是一个非常合理的答案恕我直言.他建议你一个有效的解决方案,你不能假装人们甚至为你实现的东西或找到可能不存在的东西...... (5认同)
  • @Alex:你的意思是driis给了你一个很好的答案.无论如何,人们提出不清楚和含糊不清的问题并不常见,然后谴责那些试图帮助他们的人.这就是为什么我开始发表更多的评论而不是最近的答案,因为太多的人希望你读懂他们的想法并且当你做不到时会生气. (5认同)
  • @HPT,你问"如何制作像这样的GroupBox?",我回答了这个问题.您没有询问有关实施的具体问题,所以我无法回答这个问题.另外,我知道它在框架中不存在,所以我想为你包含这些信息.至于你提出的其他问题 - 你可以轻松地谷歌.我没有发现任何真正有用的东西. (2认同)

Hom*_*mam 5

没有像你制作的图像那样的控制,我有一个非智能的解决方案,但可能符合你的要求,

创建UserControl并把它里面2个GroupBox控件,那么你就会有他们之间的一条线,你可以将其隐藏通过添加它上面的面板没有NoneBorderStyle.

然后你将拥有这个用户控件:

替代文字

我知道它并不像你想要的那么聪明,但是它可能比从头开始画一个主题更容易.

您还可以创建标题属性以将垂直组框反映为用户控件的标题

public string Title
{
    get { return groupBox1.Text; }
    set { groupBox1.Text = value; }
}
Run Code Online (Sandbox Code Playgroud)

祝好运!