如何创建带有嵌入式关闭按钮的按钮

时间:2009-05-26 17:05:15

标签: c# winforms infragistics

我正在尝试创建一个面板,上面会有一组“按钮”。

这些按钮应具有以下行为:

  1. 出现类似于标签(带有 圆边)
  2. 包含红色 交叉以从中删除过滤器/标签 面板,类似于互联网的方式 资源管理器选项卡具有嵌入式十字架以关闭单个选项卡。
  3. 允许用户点击 在标签上并像平常一样回应 按钮(只要点击不是 在红十字会)
  4. 1号没有问题,这只是外观,但是,对于数字2和3,我不确定是否已经有代码类似的东西......我真的不想重新发明轮子如果我可以避免它!

    我的问题是:有没有人知道在infragistics中是否有一些东西可以简单地执行此操作,或者我是否需要通过子类化winform按钮自行编写?

    提前致谢!

3 个答案:

答案 0 :(得分:1)

这是现有项目的新开发或维护吗?

如果是维护,那么你将面临更艰难的时期。你将实现一个UserControl,可能分为两个按钮。使用对接可以使行为尽可能正确。最右边的按钮会包含你的十字图像;左侧(在调整控件大小时需要自动展开)将包含主按钮行为。玩视觉风格,直到你正确的方式(EG,删除边框等)。

如果这是新的开发,并且你没有太深入,你可能考虑使用Windows Presentation Framework(WPF)而不是WinForms 。构建控件并让它看起来完全符合您的需求会更容易。 WPF包含一个非常强大的控制合成系统,它允许您将多个控件叠加在一起,并使它们完全按照您的预期工作,并且它具有允许开箱即用的完全视觉控制的附加优势。

无论哪种方式,这都比投入外部组件要多得多......我已经使用了Infragistics多年,我想不出他们拥有的任何可比性的东西。如果您正在构建MDI应用程序并且这些控件用于窗口导航,那么最接近但的是Tabbed MDI窗口管理工具 - 并且只有选项卡(替换窗口标题栏)有这种行为。

答案 1 :(得分:0)

我不认为infragistics可以做这样的事情。 UltraButton控件不能。 实现自己的控制并不会那么难。

答案 2 :(得分:0)

你可能需要为这类工作制作服装控制权。