2008-09-15 13 views

答えて

23

フォーム上Tooltipコントロールを使用している場合、あなたはこのようにそれを行うことができます。

ToolTip1.Show("Text to display", Control)

MSDN documentation for the ToolTip control's "Show" methodはすべて持っていますこれに関するさまざまなバリエーションとそれらを使用する方法。

+5

私はこれがかなり正しいとは思わない。それを行うと、ツールチップが表示されますが、その後マウスをコントロールの上に移動するたびにツールチップが表示されます。コマンドにツールチップを1回だけ表示する方法はありませんか? – PICyourBrain

+1

いいえ、「表示」コマンドを使用すると、1度だけツールチップが表示されます。マウスがコントロールの上にいつでもツールチップを表示するには、コントロール自体の "ToolTipText"プロパティを設定します。 – Keithius

+1

ヨルダンSが正しいです。 Showメソッドは、指定されたコントロールに関連付けられたツールヒントテキストを設定します。 –

-1

これは私が使用するコードです:特定のコントロールのツールヒントを作成するための

static HWND hwndToolTip = NULL; 

void CreateToolTip(HWND hWndControl, TCHAR *tipText) 
{ 
    BOOL success; 

    if(hwndToolTip == NULL) 
    { 
    hwndToolTip = CreateWindow( TOOLTIPS_CLASS, 
           NULL, 
           WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,          
           CW_USEDEFAULT, CW_USEDEFAULT, 
           CW_USEDEFAULT, CW_USEDEFAULT,          
           NULL, NULL, 
           hInstResource, 
           NULL); 
    } 

    if(hwndToolTip) 
    { 
    TOOLINFO ti; 

    ti.cbSize = sizeof(ti); 
    ti.uFlags = TTF_TRANSPARENT | TTF_SUBCLASS; 
    ti.hwnd  = hWndControl; 
    ti.uId  = 0; 
    ti.hinst = NULL; 
    ti.lpszText = tipText; 

    GetClientRect(hWndControl, &ti.rect); 

    success = SendMessage(hwndToolTip, TTM_ADDTOOL, 0, (LPARAM) &ti); 
    } 
} 

コールCreateToolTip機能。

+0

TOOLTIPS_CLASSへの参照を取得するには、HWND、TCHARなどのコンパイラエラーが発生します。これらは.Netで定義されていないようです。私は参照を追加する必要がありますか? –

9
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip(); 
ToolTip1.SetToolTip(this.textBox1, "Hello"); 

ツールチップがコントロール "textBox1"上に設定されます。

ここに読みました:

http://msdn.microsoft.com/en-us/library/aa288412.aspx

1

あなたはツールチップは、(MyControlと)に表示したいいくつかのコントロールにツールチップコントロールを添付して、フォームに セカンドをツールチップコントロールを追加する必要がまず 第三に、この操作を行います。 Tooltip1.Show(「マイツールヒントテキスト」、MyControlとを)

1

ケビン、独自のバルーンを作成したい場合は、Task 3: Showing Balloon tipsのリンクをお読みください。 TOOLTIPS_CLASS定数を持つNativeMethodsクラスについて説明しました。

0

フォーム全体に変数privateを作成した場合は、forのフォームを呼び出すことができ、initialdelayを調整できます。

Public Class MyForm   
Private MyTooltip As New ToolTip   
...   
Sub ApplyToolTips   
'For default   
ApplyToolTips (1000)   
End Sub   

Sub ApplyTooltips (ByVal Delay as Integer)   

MyTooltip .InitialDelay = Delay   
MyTooltip.AutoPopDelay = 5000   
...   
MyTooltip.SetToolTip(Me.btnClose, "Close the form")   

End Sub  

Private Sub Btn_Click(sender As System.Object, e As System.EventArgs) Handles Btn.Click   
    Dim PicBox As PictureBox = CType(sender, PictureBox)   
    ApplyTooltips (0)  
    ApplyTooltips (1000)  
End Sub  
関連する問題