0

スプリッター コントロールを含む VB .NET フォームがあり、プログラムの実行間でその位置を保存したいと考えています。現在、SplitterMoved イベントを処理し、SplitterDistance を保存しています。次に、プログラムの起動時に、SplitterDistance を保存した値に設定します。

ただし、プログラムによってスプリッターのサイズが変更され、SplitterMoved イベントが発生し、保存した距離が上書きされることがあります。タブ コントロールの複数のタブに複数のスプリッターがあり、ユーザーが初めて新しいタブに移動するたびに、SplitterMoved イベントが発生します。

プログラムがスプリッターを移動したときではなく、ユーザーがスプリッターを移動したときにのみ発生する、使用できるイベントはありますか? MouseUp を試しましたが、そのイベントが発生したときに、新しい SplitterDistance がまだ設定されていません。

4

2 に答える 2

0

いいえ、スプリッター移動したため、個別のイベントはありません。

スプリッターは以前と同じ場所にある必要があるため、保存した値を変更しないでください。オブジェクトをチェックしてsender、正しいスプリッターの位置を更新していることを確認していますか?

于 2010-07-07T13:36:32.087 に答える
0

SplitterEventArgs は、スプリッタ座標とマウス座標の両方を提供します。

非ユーザー主導の SplitterMoved イベントの場合、マウス座標は範囲外になると思います。

于 2010-07-07T13:39:35.217 に答える