社区
C#
帖子详情
如何不显示子窗口的最小化和最大化按钮
dreamfeer
2005-11-15 09:59:54
如题,我把controlbox ,max minmizebox属性都false还是没用,还有什么方法?
...全文
505
10
打赏
收藏
如何不显示子窗口的最小化和最大化按钮
如题,我把controlbox ,max minmizebox属性都false还是没用,还有什么方法?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
江东闲客
2005-11-18
打赏
举报
回复
不显示子窗口的最小化和最大化按钮 下面就能实现呀
Form mid = new MidForm();
mid.ControlBox = true;
mid.MinimizeBox = false;
mid.MaximizeBox = false;
mid.Show();
如果你是想让它们变灰不可用,可以调用api
[DllImport("user32.dll")]
static extern bool DeleteMenu(IntPtr hMenu, uint uPosition, uint uFlags);
附:
internal const UInt32 SC_MINIMIZE =0xF020;
internal const UInt32 SC_MAXIMIZE =0xF030;
以下是一个把关闭按钮变灰的例
class RemoveXButton
{
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern int GetMenuItemCount(IntPtr hMenu);
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool DrawMenuBar(IntPtr hWnd);
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool RemoveMenu(IntPtr hMenu, uint uPosition, uint uFlags);
private const Int32 MF_BYPOSITION = 0x400;
private const Int32 MF_REMOVE = 0x1000;
public static void RemoveCloseButton(Form frm)
{
IntPtr hMenu;
int n;
hMenu = GetSystemMenu(frm.Handle,false);
if(hMenu != IntPtr.Zero)
{
n = GetMenuItemCount(hMenu);
if(n > 0)
{
RemoveMenu(hMenu, (uint)(n-1), MF_BYPOSITION | MF_REMOVE);
RemoveMenu(hMenu, (uint)(n-2), MF_BYPOSITION | MF_REMOVE);
DrawMenuBar(frm.Handle);
}
}
}
}
dreamfeer
2005-11-18
打赏
举报
回复
不是我想要的啊。
childwindow最大化有那3个最大、最小、关闭按钮,有办法不显示吗?
我想象应该重绘才能做到吧???
dreamfeer
2005-11-15
打赏
举报
回复
忘了说:子窗口是最大化状态
dreamfeer
2005-11-15
打赏
举报
回复
以上2个方法都不行啊。
Macosx
2005-11-15
打赏
举报
回复
我按你的做了 可以啊
q_po_o
2005-11-15
打赏
举报
回复
转贴
frm.MdiParent = this;
frm.ControlBox = false;
frm.Show();
frm.Focus();
frm.Dock = DockStyle.Fill;
xujiaoxiang
2005-11-15
打赏
举报
回复
controlbox ,max minmizebox属性都false还是没用?
那你试试这个FormBorderStyle属性
q_po_o
2005-11-15
打赏
举报
回复
Form form = new Form();
form.MdiParent = this;
form.MaximizeBox = false;
form.MinimizeBox = false;
form.Show();
form.Activate();
form.Location = new Point(0,0);
form.Size = form.Parent.ClientSize;
在主窗口的SizeChanged的事件中添加
private void MainForm_SizeChanged(object sender, System.EventArgs e)
{
foreach(Form frm in this.MdiChildren)
{
frm.Location = new Point(0,0);
frm.Size = frm.Parent.ClientSize;
}
}
zxf_hay
2005-11-15
打赏
举报
回复
formborderstyle=fixeddialog
maximizebox=false
minmizebox=false
showintaskbar=false
zxf_hay
2005-11-15
打赏
举报
回复
FormBorderStyle=fixedDialog
十字棋游戏
这是一个十字棋的游戏,玩游戏时当按下Button后(请参考Demo.jpg),会出现右边的另一个
窗口
,这样便可以开始游戏。游戏规则进去看吧,我觉得这个游戏还嘛耐玩的。
Qt
显示
子
窗口
最大化
、
最小化
、关闭
// 使能
窗口
的
最小化
、
最大化
、关闭
按钮
Qt::WindowFlags flags = Qt::Dialog; flags = flags | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint; setWindowFlags(fla...
Qt
窗口
操作函数(置顶、全屏,
最大化
最小化
按钮
设置等)
1)将要全屏的 Qt
子
窗口
调用 setWindowFlags(Qt::Window) 将其类型提升为顶级
窗口
模式,然后调用 showFullScreen() 函数将
子
窗口
全屏
显示
。2)当然全屏后还要恢复正常,即调用 setWindowFlags(Qt::subwindow) 将
子
窗口
设置为非顶级
窗口
,再调用 showNormal() 还原
子
窗口
显示
。在使用 QDialog 时,默认情况下只有 “这是什么” 和 “关闭”
按钮
,但是我们习惯有
最大化
和
最小化
按钮
。即得到屏幕分辨率,如 1024*768。
解决winform中mdi
子
窗体加载时
显示
最大化
最小化
按钮
的方法
解决winform中mdi
子
窗体加载时
显示
最大化
最小化
按钮
的方法场景:在mid加载
子
窗体的时候如果指定WindowState为Maximized,加载完成后主窗体会
显示
最大化
、
最小化
、关闭的
按钮
图标。解决方法: 1.更改主窗体FormMain的属性。制定MainMenuStrip的属性为menuStrip1控件。menuStrip1控件就是主窗体上的菜单栏。 2.在menuStrip1控件的It
QT开发-
子
窗口
最小化
最大化
无效
ubuntu16-32 qt版本5.3.2 qwidget 弹窗
子
窗口
后无法使用 showMinimized() showMaximized()等内置函数 小坑不知道为啥会出现。 解决办法 先隐藏hide() 再
最小化
this->showMinimized() 重构界面事件函数:showEvent() ...
C#
111,097
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章