当我在 VS 2012 的编辑器中关闭表单时,我遇到了按钮控件移动的问题。我专门使用 C# 工作。这让我抓狂,因为每次打开设计器时我都必须重新定位控件。
Form Size 995, 625
Button Location
------ --------
Save button 617, 575
Delete button 701, 575
Clear button 785, 575
Cancel button 869, 575
Run Code Online (Sandbox Code Playgroud)
按钮固定在底部、右侧
表格最大尺寸为 0,0
这些按钮上方有一个 TabControl。我以前遇到过这个问题,而且我很确定它也涉及带有 TabControl 的表单。
这种形式下面有几层继承,但两者都定义得较小。这里使用的按钮继承自该按钮下方的表单。在该表单上,它们固定在顶部、左侧,因此我认为如果控件受到该表单定位的影响,它们将会向上和向左移动。他们始终向下和向右移动。
重现的步骤。
Button Location
Save button 852, 664 (off visible form)
Delete button 936, 631 (off visible form)
Clear button 1020, 630 (off visible form)
Cancel button 1104, 664 (off visible form)
Run Code Online (Sandbox Code Playgroud)
这些位置各不相同。有时它们仍然在表单上,或者部分在表单上,只是处于较低位置并且不再对齐。它们总是较低且位于右侧,就好像它们在关闭过程中受到表单尺寸变化的影响一样。
如果我在设计器中将表单放大,它们就会继续向下移动并向右保持偏离形式。
我现在已经诉诸于以编程方式定位它们,但更愿意了解正在发生的事情,以便在将来防止它发生。
如果复选框是选项卡顺序(0)中的第一个控件,则在显示表单时它不表示它具有焦点.确实,它确实有焦点,您可以通过按空格键来检查/取消选中控件来演示.如果选中,则使用shift-tab返回复选框,标签将标出轮廓以指示焦点.通过创建带有复选框,文本框和按钮控件的新表单,可轻松测试.Tab键顺序设置为该顺序.启动表格.没有迹象表明该复选框具有焦点.通过控件选项卡,当您返回文本框时,它将被概述.我已尝试使用Control.Focus()和Control.Select()以Load和Shown方法的形式以编程方式设置焦点.
如何在启动表单时使复选框显示为焦点?