Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共29 条记录, 每页显示 10 条, 页签: [1] [2][3]
[浏览完整版]

标题:如何使窗口的关闭按钮不可用,最小化及最大化可用?

1楼
baoxyang 发表于:2010/11/24 1:53:00

如何使窗口的关闭按钮不可用,最小化及最大化可用及其它都可用?

谢谢指点!!

2楼
baoxyang 发表于:2010/11/24 8:42:00
OK!
3楼
实话实说 发表于:2010/11/24 9:04:00

这个问题你是如何ok的

http://www.foxtable.com/dispbbs.asp?boardid=2&Id=8577&page=4

4楼
baoxyang 发表于:2010/11/24 9:54:00

VS2008C#建立一个类库,在引用即可。

 internal static extern IntPtr GetSystemMenu(IntPtr hwnd, bool bRevert);
        [DllImport("user32.dll")]
        internal static extern int GetMenuItemCount(IntPtr hMenu);
        [DllImport("user32.dll")]
        internal static extern int RemoveMenu(IntPtr hMenu, int uPosition, int uFlags);
        [DllImport("user32.dll")]
        internal static extern int DrawMenuBar(IntPtr hMenu);

protected void CloseButtonEnable(IntPtr hWnd)
        {
            //  默认窗口去除关闭按钮 
            const int MF_BYPOSITION = 0x00000400;
            IntPtr hMenu = GetSystemMenu(hWnd, false);
            int count = GetMenuItemCount(hMenu);
            RemoveMenu(hMenu, count - 1, MF_BYPOSITION);
          //  RemoveMenu(hMenu, count - 5, MF_BYPOSITION);
            DrawMenuBar(hWnd);
        }
        public void CloseForm()
        {
            CloseButtonEnable(Foxtable.GlobalProperties.Forms["聊天窗口"].BaseForm.Handle);
        }

5楼
狐狸爸爸 发表于:2010/11/24 10:43:00

其实不用这么复杂的,自己在Foxtable的BeforeClose事件设置代码,判断某个Public全局变量的值,如果是True,则正常关闭,如果是False则取消关闭。

打开窗口将变量的值设置为False,在窗口加一个关闭按钮,按钮代码中将全局变量的值设置为True,这样可以通过此关闭按钮关闭窗口,直接通过窗口的关闭按钮则不可以。

 

加起来可以五行代码搞定:

 

全局代码:

public bbb As Boolean

 

窗口的AfterLoad事件:

bbb = True

 

窗口的Beforeclose事件:

e.cancel = not bbb

 

窗口的关闭按钮

bbb = True

e.Form.Close()

 

 

[此贴子已经被作者于2010-11-24 10:46:32编辑过]
6楼
baoxyang 发表于:2010/11/24 13:38:00
以下是引用狐狸爸爸在2010-11-24 10:43:00的发言:

其实不用这么复杂的,自己在Foxtable的BeforeClose事件设置代码,判断某个Public全局变量的值,如果是True,则正常关闭,如果是False则取消关闭。

打开窗口将变量的值设置为False,在窗口加一个关闭按钮,按钮代码中将全局变量的值设置为True,这样可以通过此关闭按钮关闭窗口,直接通过窗口的关闭按钮则不可以。

 

加起来可以五行代码搞定:

 

全局代码:

public bbb As Boolean

 

窗口的AfterLoad事件:

bbb = True

 

窗口的Beforeclose事件:

e.cancel = not bbb

 

窗口的关闭按钮

bbb = True

e.Form.Close()

 

 

[此贴子已经被作者于2010-11-24 10:46:32编辑过]

 试过了,不行呀?那位狐友可以达到效果吗?

[此贴子已经被作者于2010-11-24 13:39:18编辑过]
7楼
实话实说 发表于:2010/11/24 14:28:00
以下是引用狐狸爸爸在2010-11-24 10:43:00的发言:

其实不用这么复杂的,自己在Foxtable的BeforeClose事件设置代码,判断某个Public全局变量的值,如果是True,则正常关闭,如果是False则取消关闭。

打开窗口将变量的值设置为False,在窗口加一个关闭按钮,按钮代码中将全局变量的值设置为True,这样可以通过此关闭按钮关闭窗口,直接通过窗口的关闭按钮则不可以。

 

加起来可以五行代码搞定:

 

全局代码:

public bbb As Boolean

 

窗口的AfterLoad事件:

bbb = True

 

窗口的Beforeclose事件:

e.cancel = not bbb

 

窗口的关闭按钮

bbb = True

e.Form.Close()

 

 

[此贴子已经被作者于2010-11-24 10:46:32编辑过]

ok,将bbb = True改为bbb = False

窗口的关闭按钮

bbb = True

e.Form.Close()

加上Syscmd.Project.Exit()

8楼
卟离卟弃 发表于:2010/11/24 15:04:00
以下是引用实话实说在2010-11-24 14:28:00的发言:

ok,将bbb = True改为bbb = False

窗口的关闭按钮

bbb = True

e.Form.Close()

加上Syscmd.Project.Exit()

狐爸又犯這些菜鳥級的錯誤...图片点击可在新窗口打开查看

9楼
bohe 发表于:2010/11/24 16:22:00
我这怎么通不过?
10楼
狐狸爸爸 发表于:2010/11/24 16:45:00

我做了一个更简单的例子:

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目6.rar

共29 条记录, 每页显示 10 条, 页签: [1] [2][3]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03711 s, 3 queries.