2

メッセージボックスを表示する代わりに、エラーが発生したときにバルーンチップを表示したい。

[注]マウスホバーに表示したくありませんでした。

両方試してみましたが、実際にはマウスホバーのヒントが表示されます

toolTip1.SetToolTip();
toolTip1.Show();
4

2 に答える 2

2

ツールチップポップアップイベントを使用して、ツールチップが存在するかどうかを確認し、存在しない場合はキャンセルできます。次に、検証中にツールチップを設定して表示できます。この例では、2秒のタイムアウト後にツールチップテキストをリセットするようにタイマーを設定しました。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        toolTip1.IsBalloon = true;
        toolTip1.Popup += new PopupEventHandler(toolTip1_Popup);
        toolTip1.SetToolTip(textBox1, "");
    }

    void toolTip1_Popup(object sender, PopupEventArgs e)
    {
        if (toolTip1.GetToolTip(e.AssociatedControl) == "")
            e.Cancel = true;

    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        timer1.Stop();
        toolTip1.RemoveAll();

    }

    private void textBox1_Validating(object sender, CancelEventArgs e)
    {
        int temp;
        if (!int.TryParse(textBox1.Text, out temp))
            showTip("Validation Error", (Control)sender);

    }

    private void showTip(string message, Control destination)
    {
        toolTip1.Show(message, destination);
        timer1.Start();
    }
}
于 2012-10-30T03:09:27.110 に答える
0

驚いたことに、toolTip1.IsOpen = trueの場合、ツールチップが表示され、開いたままになります。私が何をしても、それが私のマシン上で自然に消えることはないので、それを閉じるためのコードを提供する必要があることに注意してください。

于 2012-10-30T02:57:59.820 に答える