我有一个SplitContainer
控件,Splitter
中间很丑。通过将BackColor
of设置SplitContainer
为(在此处插入颜色),然后将BackColor
ofPanel1
和设置Panel2
为白色,我可以让我的分离器看起来不错。但默认情况下,Windows 将选择标记放在拆分器上,甚至在它被选中之前。
如何确保选择标记永远不会显示在Splitter
?
我有一个SplitContainer
控件,Splitter
中间很丑。通过将BackColor
of设置SplitContainer
为(在此处插入颜色),然后将BackColor
ofPanel1
和设置Panel2
为白色,我可以让我的分离器看起来不错。但默认情况下,Windows 将选择标记放在拆分器上,甚至在它被选中之前。
如何确保选择标记永远不会显示在Splitter
?
我认为“选择标记废话”是指指示控件已选中的模糊线。如果您不希望显示此内容,请设置一些其他控件以在启动时选择。就像是:
Textbox1.Selected = true;
如果它只是未选择其中之一,这应该可以解决您的问题。但是,如果您选择要调整大小的项目,这会回来。在这种情况下,您可以在 mouse_up 事件中放置一些东西以将选择移出控件。这样,用户移动分隔条,然后当他们松开时,选择会从分隔条中清除。
另一种方法是使分隔条足够窄,以使灰色模糊线不会出现。为此,您可以执行以下操作(经过测试):
splitContainer1.BorderStyle = BorderStyle.FixedSingle;
splitContainer1.SplitterWidth = 1;
我遇到了同样的问题,并通过在“属性”窗口中设置TabStop
为.False
SplitContainer1
这可能会惹恼那些依赖或坚持使用键盘来操作表单的各个方面的人,但除此之外它会起作用。SplitContainer 内的控件将保持可选项卡,而不是 SplitContainer 本身。
此代码将在移动后不久将焦点从 splitContainer 移动到 TreeView。
private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e) {
if(this.splitContainer1.CanFocus) {
this.splitContainer1.ActiveControl = this.treeView1;
}
}
您可以添加一个事件处理程序来从 MouseUp 的容器中窃取焦点……这有点乱,但它可以工作。:)
我尝试了很多来删除分离器,但没有任何效果。我做了一些不同的为什么我们需要使用拆分器,因为我们可以使用图片框控件使其宽度(或)高度取决于您的项目设置 5 或 3 .... 在图片框鼠标移动事件之后编写代码如...图片框property-cursor 更改游标类型 Hsplit 它看起来像拆分器
private void picturebox1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)//this for mouse left click its work
{
//write you code here if you use panel set panel height or width it reaches...
Cursor.Position = new Point(e.X, e.Y); // this for mouse cursor position according your //project do some fine tune you will get its work...
}
它的工作,因为我为此尝试了很多,我自己发现了这种方法......
我将 TabStop 设置为 false 并且它消失了。
我找到/制作的最简单的解决方案 - 创建一个按钮,选择它,然后隐藏它。全部通过代码。没有副作用或问题,将其放在表单加载事件中。
Button DeSelectButton = new Button();
this.Controls.Add(DeSelectButton);
DeSelectButton.Select();
DeSelectButton.Visible = false;