使用sizabletoolwindow样式最小化winforms表单的按钮

时间:2010-03-31 01:19:11

标签: .net winforms

有关如何模拟最小化按钮和提示的任何提示行为

更新 - 最小化按钮需要位于标题栏上,因为屏幕空间是@溢价

4 个答案:

答案 0 :(得分:6)

你要做的最好的事情可能是跟随其他人所做的事情,并根据需要进行调整。之前已经提出过这个问题,并且有一些很好的起点here。基本过程是,您需要覆盖WndProc以在标题栏被绘制,移动等时捕获消息。然后您可以在那里注入自己的绘制方法。您将要遇到的真正麻烦是您需要编写的所有代码,以使您的自定义按钮与当前的Windows主题相匹配。最后,您最好重新考虑表单设计,以便在其他地方包含功能。

答案 1 :(得分:0)

在窗口中创建一个包含代码的按钮:

this.WindowState = FormWindowState.Minimized;

答案 2 :(得分:0)

我认为你不能,我认为你不想。设置为SizableToolWindowFixedToolWindow的Windows未显示在任务栏中,因此一旦将其最小化,用户就无法恢复它。这就是工具窗口上没有最小化按钮的原因。

您可能要在此处执行的操作是使用FixedDialog窗口,其MaximizeBox属性设置为false。此表单可以最小化和恢复,但不能以任何方式最大化或调整大小(如果重要的话,也没有图标)。

答案 3 :(得分:0)

我建议您使用BigJason描述的方式并使用controlrenderer解决问题,这将绘制正确的windowstheme按钮。

public static void DrawCaptionButton(Graphics graphics,int x,int y,int width,int height,CaptionButton button,ButtonState state); 声明类型:System.Windows.Forms.ControlPaint 汇编:System.Windows.Forms,Version = 2.0.0.0