22

textbox特定の方法でデータを入力する必要があるがあります。入力後にデータをチェックするためにいくつかのセル検証手法を実装しましたが、データを入力する前にユーザーにいくつかの情報を提供したいと思います。

そのために、ユーザーがツールボックスに入るとポップアップし、入力を開始すると終了するにtooltipを追加したいと思います。textbox

たとえば、次のコードがあります。

private void YearEdit_Enter(object sender, EventArgs e)
  {
        ToolTip tt = new ToolTip();
        tt.IsBalloon = true;
        tt.InitialDelay = 0;
        tt.ShowAlways = true;
        tt.SetToolTip(YearEdit, "Enter 4 digit year.");
    }

これは、ユーザーがを入力したときに実行されますが、マウスをに置いたときにのみ表示されtextboxます。誰かがこれを回避するためのアイデアを持っていますか?おそらくうまくいくかもしれないと思いましたが、明らかにそうではありません。tooltiptextboxtt.ShowAlways = true

4

5 に答える 5

31

textbox.enterイベントに接続し、次のコードを使用します。

private void textBox1_Enter(object sender, EventArgs e)
    {
        TextBox TB = (TextBox)sender;
        int VisibleTime = 1000;  //in milliseconds

        ToolTip tt = new ToolTip();
        tt.Show("Test ToolTip",TB,0,0,VisibleTime);
    }

X / Y値を試して、目的の場所に移動します。目に見える時間は、それが消えるまでの時間です。

于 2013-02-04T21:04:02.180 に答える
3

ツールチップは、マウスがまだ設計上にある場合にのみ表示されます。

InitialDelayを0に設定してみてください。

tt.InitialDelay = 0;

ただし、これでもマウスを一瞬静止させる必要があります。

ただし、他のアプローチがあります。必要な入力を示す一般的な方法は、ユーザーが入力を開始するまで必要な書式を表示する透かし(色あせたテキスト)をテキストボックスで使用することです。

ツールチップが本当に必要な場合は、カーソルを合わせたときにツールチップを表示する情報アイコン(通常は「i」)を追加するか、独自のツールチップを実装することができます。

日付を部分(日、月、年を分ける)に分割した場合にも機能する可能性があります。これにより、ユーザーが入力できる内容をより細かく制御できるようになります。月はドロップダウン/コンボボックスになる可能性があるため、常に正しい形式になります。

于 2013-02-04T20:54:57.240 に答える