17

私にはSplitContainerコントロールがありSplitter、真ん中は非常に醜いです。BackColorSplitContainerを (ここに色を挿入) に設定し、のBackColorPanel1Panel2白に設定すると、スプリッターの見栄えが良くなります。ただし、デフォルトでは、Windows はスプリッターが選択される前であっても、選択マークをスプリッターの上に置きます。

に選択マークが表示されないようにするにはどうすればよいSplitterですか?

ここに画像の説明を入力

4

7 に答える 7

10

「Selection Marker Crap」とは、コントロールが選択されていることを示すあいまいな線を意味すると思います。これを表示したくない場合は、起動時に他のコントロールが選択されるように設定します。何かのようなもの:

Textbox1.Selected = true;

選択されていないものの1つだけである場合、これで問題が解決するはずです。ただし、アイテムを選択してサイズを変更すると、これが元に戻ります。その場合、mouse_up イベントに何かを入れて、選択をコントロールの外に移動することができます。そうすれば、ユーザーはスプリッター バーを移動し、離すと、選択がスプリッターからクリアされます。

もう 1 つの方法は、灰色のぼやけた線が表示されないように分割バーを十分に狭くすることです。これを行うには、次のようにします (テスト済み)。

splitContainer1.BorderStyle = BorderStyle.FixedSingle;
splitContainer1.SplitterWidth = 1;
于 2011-05-14T21:57:11.880 に答える
7

同じ問題が発生し、 の [プロパティ] ウィンドウで に設定TabStopして修正しました。FalseSplitContainer1

これは、フォームのすべての側面を操作するためにキーボードを使用することに依存または主張する人々を苛立たせる可能性がありますが、それ以外は機能します. SplitContainer 内のコントロールは、SplitContainer 自体ではなく、引き続きタブ可能です。

于 2014-05-22T15:51:29.673 に答える
3

このコードは、移動後すぐにフォーカスをsplitContainerからTreeViewに移動します。

private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e) {
  if(this.splitContainer1.CanFocus) {
     this.splitContainer1.ActiveControl = this.treeView1;
  }
}
于 2011-06-28T19:34:05.037 に答える
2

イベント ハンドラーを追加して、MouseUp のコンテナーからフォーカスを奪うことができます... 少し面倒ですが、機能します。:)

于 2011-06-06T05:58:25.587 に答える
1

スプリッターを削除するために多くのことを試みましたが、何も機能しません。ピクチャボックスコントロールを使用して幅(または)高さをプロジェクトセット5または3に依存させるためにスプリッタを使用する必要がある理由をいくつか変更しました....ピクチャボックスのマウス移動イベントの後、... pictureboxのようなコードを記述します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... 
}

私はこれのために多くのことを試み、私自身がこの方法を見つけたので、その仕事...

于 2012-06-29T12:12:01.160 に答える
0

TabStop を false に設定すると、消えました。

于 2013-06-16T19:25:09.607 に答える
0

私が見つけた/作った最も簡単な解決策 - ボタンを作成し、選択し、非表示にします。すべてコード経由。これには副作用や問題はありません。フォームの読み込みイベントに配置してください。

Button DeSelectButton = new Button();
        this.Controls.Add(DeSelectButton);
        DeSelectButton.Select();
        DeSelectButton.Visible = false;
于 2017-03-07T06:53:29.610 に答える