WINFORM 窗体标题栏的“x”显示不出来?

okgogo2000 2012-07-16 10:39:32
就是设计视图里可以看到窗体的标题栏上的最小化、还原、关闭按钮,但运行的时候只能看到最小化、还原按钮,但左边还有空的地方没有显示任何东西,也就是说标题栏按理来说是可以把三个按钮完全显示出来的。

我测试了FormBoardStyle的各个属性值都试了,始终有这个问题。

请问有什么办法解决呢? 谢谢

form窗口size的属性比默认的小, 参考
http://topic.csdn.net/u/20120518/10/47bdfdc9-b77a-4ab1-a11e-3bb7c4f55582.html
做了设置
...全文
410 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
dylike 2012-07-28
  • 打赏
  • 举报
回复
private sub form_Closing()
e.cancel=true '关闭按钮仍然存在,但无法关闭
end sub
sw01 2012-07-28
  • 打赏
  • 举报
回复
试了一下,没有出现你说的这种情况。。估计你重绘制控件或自定义控件时,和默认的冲突了。。。
SocketUpEx 2012-07-28
  • 打赏
  • 举报
回复
你是不是搞了个圆角窗体啊?
我看着X被截了一半了
okgogo2000 2012-07-28
  • 打赏
  • 举报
回复
看来没办法啦
okgogo2000 2012-07-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

窗体必须有一个最小宽度的。否则会引发贴图错误。

要不然你把窗口弄大一些,要不然不要标题栏了,用自己的图片模拟。
[/Quote]

窗体拉宽一点就可以看到关闭按钮, 不过因为目的就是要把窗体变窄,所以不会为了关闭按钮而加宽窗体。
如果没有其它选择, 自己用图片模拟是一个最后的选择。
okgogo2000 2012-07-16
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

额...有点意思..没遇到过这种情况啊...是不是改过design.cs的代码啊?
[/Quote]
design.cs里面的代码没改过
yuandonghuia 2012-07-16
  • 打赏
  • 举报
回复
额...有点意思..没遇到过这种情况啊...是不是改过design.cs的代码啊?
threenewbee 2012-07-16
  • 打赏
  • 举报
回复
窗体必须有一个最小宽度的。否则会引发贴图错误。

要不然你把窗口弄大一些,要不然不要标题栏了,用自己的图片模拟。
okgogo2000 2012-07-16
  • 打赏
  • 举报
回复
设计视图中窗体的标题栏: http://my.csdn.net/okgogo2000/album/detail/1213766

运行时窗体的标题栏:http://my.csdn.net/okgogo2000/album/detail/1213765
okgogo2000 2012-07-16
  • 打赏
  • 举报
回复
设计视图中窗体的标题栏 http://my.csdn.net/okgogo2000/album/detail/1213766
运行时窗体的标题栏: http://my.csdn.net/okgogo2000/album/detail/1213765
okgogo2000 2012-07-16
  • 打赏
  • 举报
回复
设计视图中窗体的标题栏:

运行时窗体的标题栏:
okgogo2000 2012-07-16
  • 打赏
  • 举报
回复
设计视图中窗体的标题栏:

运行时窗体的标题栏:
threenewbee 2012-07-16
  • 打赏
  • 举报
回复
传你个人空间,再把地址拷贝过来。
okgogo2000 2012-07-16
  • 打赏
  • 举报
回复
主要是CSDN不能直接传图片, 不然描述应该简单明了一点
okgogo2000 2012-07-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

ControlBox属性呢
[/Quote]

ControlBox设置为True, 如果为Flase的话, 整个标题栏都没有了
threenewbee 2012-07-16
  • 打赏
  • 举报
回复
ControlBox属性呢
自定义winform 标题 主要代码 public partial class ZForm : Form { private bool moving = false; private Point oldMousePosition; public new FormBorderStyle FormBorderStyle { get { return base.FormBorderStyle; } set { if (value != FormBorderStyle.Sizable && value != FormBorderStyle.SizableToolWindow) { titlepanel.Controls.Remove(button2); } base.FormBorderStyle = value; } } #region 隐藏父类的属性,使其不可见 [Browsable(false)] public new string Text { get { return titlelabel.Text; } set { } } [Browsable(false)] public new bool ControlBox { get { return false; } set { base.ControlBox = false; } } #endregion [Browsable(true)] [EditorBrowsable(EditorBrowsableState.Always)] [Description("标题")] public string Title { get { return titlelabel.Text; } set { titlelabel.Text = value; } } [Browsable(true)] [EditorBrowsable(EditorBrowsableState.Always)] [Description("标题样式")] public Font TitleFont { get { return titlelabel.Font; } set { titlelabel.Font = value; } } [Browsable(true)] [EditorBrowsable(EditorBrowsableState.Always)] [Description("标题颜色")] public Color TitleColor { get { return titlelabel.ForeColor; } set { titlelabel.ForeColor = value; } } [Browsable(true)] [EditorBrowsable(EditorBrowsableState.Always)] [Description("标题背景色")] public Color TitleBarBackColor { get { return titlepanel.BackColor; } set { titlepanel.BackColor = value; } } public new bool MaximizeBox { get { return titlepanel.Contains(button2); } set { if (!value) { titlepanel.Controls.Remove(button2); } else if (!titlepanel.Contains(button2)) { titlepanel.Controls.Add(button2); } } } public new bool MinimizeBox { get { return titlepanel.Contains(button3); } set { if (!value) { titlepanel.Controls.Remove(button3); } else if (!titlepanel.Contains(button3)) { titlepanel.Controls.Add(button3); } } } private void ResetTitlePanel() { base.ControlBox = false; base.Text = null; SetToolTip(button1, "关闭"); button2.Size = button1.Size; SetToolTip(button2, "最大化或还原"); button3.Size = button1.Size; SetToolTip(button3, "最小化"); } private void SetToolTip(Control ctrl, string tip) { new ToolTip().SetToolTip(ctrl, tip); } public ZForm() { InitializeComponent(); ResetTitlePanel(); } private void Titlebutton_Click(object sender, EventArgs e) { Button btn = (Button)sender; switch (btn.Tag.ToString()) { case "close": { this.Close(); break; } case "max": { if (this.WindowState == FormWindowState.Maximized) { this.WindowState = FormWindowState.Normal; } else { this.WindowState = FormWindowState.Maximized; } break; } case "min": { if (this.WindowState != FormWindowState.Minimized) { this.WindowState = FormWindowState.Minimized; } break; } } } private void Titlepanel_MouseDown(object sender, MouseEventArgs e) { if (this.WindowState == FormWindowState.Maximized) { return; } //Titlepanel.Cursor = Cursors.NoMove2D; oldMousePosition = e.Location; moving = true; } private void Titlepanel_MouseUp(object sender, MouseEventArgs e) { //Titlepanel.Cursor = Cursors.Default; moving = false; } private void Titlepanel_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left && moving) { Point newPosition = new Point(e.Location.X - oldMousePosition.X, e.Location.Y - oldMousePosition.Y); this.Location += new Size(newPosition); } } private void Titlepanel_DoubleClick(object sender, EventArgs e) { if (titlepanel.Contains(button2)) { button2.PerformClick(); } } private void titlepanel_ControlRemoved(object sender, ControlEventArgs e) { switch (e.Control.Name) { case "button2": { if (titlepanel.Contains(button3)) { button3.Left = button1.Left - button1.Width; } break; } } } private void titlepanel_ControlAdded(object sender, ControlEventArgs e) { switch (e.Control.Name) { case "button2": { if (titlepanel.Contains(button3)) { button3.Left = button2.Left - button2.Width; } break; } case "button3": { if (titlepanel.Contains(button2)) { button3.Left = button2.Left - button2.Width; } break; } } } }

110,571

社区成员

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

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

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