【发布时间】:2011-12-18 19:37:15
【问题描述】:
我的表单需要删除一些表单上的“x”-(“智能最小化”-实际上并不那么智能)和“确定”按钮。不幸的是,当我这样做时,小键盘输入图标从中间移动到右侧,并且下方的栏变成灰色而不是黑色。
我希望能够删除最小化和确定控件(或只是覆盖它们的处理程序) - 但不幸的是我无法在 CF 中做到这一点。 (大错特错,MS!)
有没有办法恢复一些 UI 外观(如黑条)?
就像我说的那样,理想情况下,我们希望将文本“OK”更改为其他单词,或者只是重载用户启动的最小化(单击 X 或确定)。
(我会尽量放一些屏幕截图来展示我在说什么)
编辑
还要注意,我在表单初始化的主菜单中添加了两项。
// create three menu items to go at bottom of form/on main menu
// add new menu items to main menu
// get rid of 'X' (smart minimize) and OK controls
menuNext = new System.Windows.Forms.MenuItem();
...
mainMenu.MenuItems.Add(menuPrevious);
mainMenu.MenuItems.Add(menuNext);
mainMenu.MenuItems.Add(menuCancel);
MinimizeBox = false;
ControlBox = false;
注意 我以编程方式生成表单和项目 - 而不是使用表单设计器。这是一项要求,因为这些表单是在运行时根据配置文件动态生成的。
【问题讨论】:
-
我无法使用模拟器重现这一点。我将 ControlBox 和 MinimizeBox 设置为 false,它按预期工作。
-
@yms - 请注意,我还在主菜单中添加了一些菜单项。我认为这也与它有关。但是除非我删除确定按钮/控制框,否则一切看起来都很好
-
即使添加菜单也无法重现此问题。但是我确实注意到,如果您在设计器上执行相同操作,生成的代码将始终在调用 SuspendLayout() 和调用 ResumeLayout(false) 之间执行所有这些操作。也许你可以尝试做同样的事情......
-
不幸的是我不能使用设计器。这些表单以编程方式生成。
-
我打算尝试以编程方式使用 SuspendLayout() 和 ResumeLayout(false)...
标签: c# compact-framework windows-mobile-6