4

VB.NET で Winform を作成し、Splitter コントロールを追加して、実行時にパネルのサイズを変更できるようにしました。

私の問題は、スプリッター コントロールがはっきりしないことです。ユーザーがフォームのサイズを変更できることを知っているように表示したいと思います。現時点では、基本的に色を変更しただけですが、見た目が好きではありません。

パネルがサイズ変更可能であることをユーザーがすぐに理解できるように、このコントロールを使用する適切な方法を誰か教えてもらえますか?

4

4 に答える 4

7

私はボーダートリック(あなたが投稿したもの)を提案しようとしていました。私が通常行うもう 1 つのことは、スプリッター コントロールの MouseEnter イベントと MouseLeave イベントのイベント ハンドラーをフックし、そこに次のコードを追加することです。

private void Splitter_MouseEnter(object sender, EventArgs e)
{
    ((Splitter)sender).BackColor = SystemColors.ControlDark;
}

private void Splitter_MouseLeave(object sender, EventArgs e)
{
    ((Splitter)sender).BackColor = SystemColors.Control;
}

そうすれば、マウスがスプリッターを通過すると、スプリッターが「点灯」(というか、シャドウダウン...) し、そこに操作できるコントロールがあることに注意が向けられます。

于 2009-05-26T13:30:14.207 に答える
0

すべてのスプリッターを同じように機能させることができるように、コントロールを導出するのが好きです。プロパティを追加すると、IDEでの動作が少し良くなり、コーダーが設計時に変更できるようになります。

Public Class HighlightSplitContainer
    Inherits SplitContainer

    Property HighlightColor As Color = SystemColors.ControlDark

    Protected Overrides Sub OnMouseEnter(e As System.EventArgs)
        BackColor = HighlightColor
        MyBase.OnMouseEnter(e)
    End Sub

    Protected Overrides Sub OnMouseLeave(e As System.EventArgs)
        BackColor = SystemColors.Control
        MyBase.OnMouseLeave(e)
    End Sub
End Class
于 2012-04-03T23:32:12.210 に答える
0

SplitterWidth プロパティをより大きな値に設定して、より見やすくすることができます。

マウスがスプリッター コントロール上にあるときに、マウス カーソルを変更することもできます。同様のアイデアは、マウスがコントロール上にあるときにツールヒント テキストを表示することです。

于 2009-05-26T13:36:19.933 に答える
0

わかった、

パネルに境界線を設定すると、パネルのサイズを変更できるように見えます。

境界線を設定していなかったため、スプリッターは表示されませんでした。

于 2009-05-26T13:27:43.337 に答える