DrawToolTipEventArgs.AssociatedControl プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > DrawToolTipEventArgs.AssociatedControl プロパティの意味・解説 

DrawToolTipEventArgs.AssociatedControl プロパティ

メモ : このプロパティは、.NET Framework version 2.0新しく追加されたものです。

ToolTip描画する対象コントロール取得します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Dim instance As DrawToolTipEventArgs
Dim value As Control

value = instance.AssociatedControl
public Control AssociatedControl { get; }
public:
property Control^ AssociatedControl {
    Control^ get ();
}
/** @property */
public Control get_AssociatedControl ()
public function get AssociatedControl
 () : Control

プロパティ
Draw イベント発生したときに ToolTip関連付けられている Controlツールヒントコントロール関連付けられていない場合戻り値null 参照 (Visual Basic では Nothing) です。

解説解説
使用例使用例

ToolTipカスタム描画する方法次のコード例示します。この例では、ToolTip作成しForm 上にある 3 つの Button コントロール関連付けています。また、OwnerDraw プロパティtrue設定しDraw イベント処理してます。Draw イベント ハンドラでは、どのボタンToolTip表示されるかをDrawToolTipEventArgs.AssociatedControl プロパティ指定し、それによって ToolTipカスタム描画されます。

AssociatedControl プロパティ使用方法を示すコード例抜粋次に示しますコード例全体については、DrawToolTipEventArgs クラス概要参照してください

' Handles drawing the ToolTip.
Private Sub toolTip1_Draw(ByVal
 sender As System.Object, _
    ByVal e As DrawToolTipEventArgs) Handles
 toolTip1.Draw
    ' Draw the ToolTip differently depending on which 
    ' control this ToolTip is for.

    ' Draw a custom 3D border if the ToolTip is for button1.
    If (e.AssociatedControl Is button1) Then
        ' Draw the standard background.
        e.DrawBackground()

        ' Draw the custom border to appear 3-dimensional.
        e.Graphics.DrawLines( _
            SystemPens.ControlLightLight, New Point() { _
            New Point(0, e.Bounds.Height - 1), _
            New Point(0, 0), _
            New Point(e.Bounds.Width - 1, 0)})
        e.Graphics.DrawLines( _
            SystemPens.ControlDarkDark, New Point() { _
            New Point(0, e.Bounds.Height - 1), _
            New Point(e.Bounds.Width - 1, e.Bounds.Height - 1),
 _
            New Point(e.Bounds.Width - 1, 0)})

        ' Specify custom text formatting flags.
        Dim sf As TextFormatFlags = TextFormatFlags.VerticalCenter
 Or _
                             TextFormatFlags.HorizontalCenter Or
 _
                             TextFormatFlags.NoFullWidthCharacterBreak

        ' Draw standard text with customized formatting options.
        e.DrawText(sf)
    ElseIf (e.AssociatedControl Is button2)
 Then
        ' Draw a custom background and text if the ToolTip is for button2.

        ' Draw the custom background.
        e.Graphics.FillRectangle(SystemBrushes.ActiveCaption, e.Bounds)

        ' Draw the standard border.
        e.DrawBorder()

        ' Draw the custom text.
        Dim sf As StringFormat = New
 StringFormat
        Try
            sf.Alignment = StringAlignment.Center
            sf.LineAlignment = StringAlignment.Center
            sf.HotkeyPrefix = System.Drawing.Text.HotkeyPrefix.None
            sf.FormatFlags = StringFormatFlags.NoWrap

            Dim f As Font = New
 Font("Tahoma", 9)
            Try
                e.Graphics.DrawString(e.ToolTipText, f, _
                    SystemBrushes.ActiveCaptionText, _
                    RectangleF.op_Implicit(e.Bounds), sf)
            Finally
                f.Dispose()
            End Try
        Finally
            sf.Dispose()
        End Try
    ElseIf (e.AssociatedControl Is button3)
 Then
        ' Draw the ToolTip using default values if the ToolTip is for
 button3.
        e.DrawBackground()
        e.DrawBorder()
        e.DrawText()
    End If
End Sub
// Handles drawing the ToolTip.
private void toolTip1_Draw(System.Object sender,
 
    System.Windows.Forms.DrawToolTipEventArgs e)
{
    // Draw the ToolTip differently depending on which 
    // control this ToolTip is for.
    // Draw a custom 3D border if the ToolTip is for button1.
    if (e.AssociatedControl == button1)
    {
        // Draw the standard background.
        e.DrawBackground();

        // Draw the custom border to appear 3-dimensional.
        e.Graphics.DrawLines(SystemPens.ControlLightLight, new
 Point[] {
            new Point (0, e.Bounds.Height - 1), 
            new Point (0, 0), 
            new Point (e.Bounds.Width - 1, 0)
        });
        e.Graphics.DrawLines(SystemPens.ControlDarkDark, new Point[]
 {
            new Point (0, e.Bounds.Height - 1), 
            new Point (e.Bounds.Width - 1, e.Bounds.Height - 1),
 
            new Point (e.Bounds.Width - 1, 0)
        });

        // Specify custom text formatting flags.
        TextFormatFlags sf = TextFormatFlags.VerticalCenter |
                             TextFormatFlags.HorizontalCenter |
                             TextFormatFlags.NoFullWidthCharacterBreak;

        // Draw the standard text with customized formatting options.
        e.DrawText(sf);
    }
    // Draw a custom background and text if the ToolTip is for button2.
    else if (e.AssociatedControl == button2)
    {
        // Draw the custom background.
        e.Graphics.FillRectangle(SystemBrushes.ActiveCaption, e.Bounds);

        // Draw the standard border.
        e.DrawBorder();

        // Draw the custom text.
        // The using block will dispose the StringFormat automatically.
        using (StringFormat sf = new StringFormat())
        {
            sf.Alignment = StringAlignment.Center;
            sf.LineAlignment = StringAlignment.Center;
            sf.HotkeyPrefix = System.Drawing.Text.HotkeyPrefix.None;
            sf.FormatFlags = StringFormatFlags.NoWrap;
            using (Font f = new Font("Tahoma",
 9))
            {
                e.Graphics.DrawString(e.ToolTipText, f, 
                    SystemBrushes.ActiveCaptionText, e.Bounds, sf);
            }
        }
    }
    // Draw the ToolTip using default values if the ToolTip is for button3.
    else if (e.AssociatedControl == button3)
    {
        e.DrawBackground();
        e.DrawBorder();
        e.DrawText();
    }
}
   // Handles drawing the ToolTip.
private:
   void toolTip1_Draw( System::Object^ /*sender*/, System::Windows::Forms::DrawToolTipEventArgs^
 e )
   {
      // Draw the ToolTip differently depending on which 
      // control this ToolTip is for.
      // Draw a custom 3D border if the ToolTip is for button1.
      if ( e->AssociatedControl == button1 )
      {
         // Draw the standard background.
         e->DrawBackground();
         
         // Draw the custom border to appear 3-dimensional.
         array<Point>^ temp1 = {Point(0,e->Bounds.Height - 1),Point(0,0),Point(e->Bounds.Width
 - 1,0)};
         e->Graphics->DrawLines( SystemPens::ControlLightLight, temp1 );
         array<Point>^ temp2 = {Point(0,e->Bounds.Height - 1),Point(e->Bounds.Width
 - 1,e->Bounds.Height - 1),Point(e->Bounds.Width - 1,0)};
         e->Graphics->DrawLines( SystemPens::ControlDarkDark, temp2 );
         
         // Specify custom text formatting flags.
         TextFormatFlags sf = static_cast<TextFormatFlags>(TextFormatFlags::VerticalCenter
 | TextFormatFlags::HorizontalCenter | TextFormatFlags::NoFullWidthCharacterBreak);
         
         // Draw the standard text with customized formatting options.
         e->DrawText( sf );
      }
      // Draw a custom background and text if the ToolTip is for button2.
      else
      
      // Draw a custom background and text if the ToolTip is for button2.
      if ( e->AssociatedControl == button2 )
      {
         // Draw the custom background.
         e->Graphics->FillRectangle( SystemBrushes::ActiveCaption, e->Bounds
 );
         
         // Draw the standard border.
         e->DrawBorder();
         
         // Draw the custom text.
         // The using block will dispose the StringFormat automatically.
         StringFormat^ sf = gcnew StringFormat;
         try
         {
            sf->Alignment = StringAlignment::Center;
            sf->LineAlignment = StringAlignment::Center;
            sf->HotkeyPrefix = System::Drawing::Text::HotkeyPrefix::None;
            sf->FormatFlags = StringFormatFlags::NoWrap;
            System::Drawing::Font^ f = gcnew System::Drawing::Font( "Tahoma",9
 );
            try
            {
               e->Graphics->DrawString( e->ToolTipText, f, SystemBrushes::ActiveCaptionText,
 e->Bounds, sf );
            }
            finally
            {
               if ( f )
                  delete safe_cast<IDisposable^>(f);
            }

         }
         finally
         {
            if ( sf )
               delete safe_cast<IDisposable^>(sf);
         }
      }
      // Draw the ToolTip using default values if the ToolTip is for
 button3.
      else if ( e->AssociatedControl ==
 button3 )
      {
         e->DrawBackground();
         e->DrawBorder();
         e->DrawText();
      }
   }
// Handles drawing the ToolTip.
private void toolTip1_Draw(Object sender,
    System.Windows.Forms.DrawToolTipEventArgs e)
{
    // Draw the ToolTip differently depending on which 
    // control this ToolTip is for.
    // Draw a custom 3D border if the ToolTip is for button1.
    if (e.get_AssociatedControl().Equals(button1)) {
        // Draw the standard background.
        e.DrawBackground();
        // Draw the custom border to appear 3-dimensional.
        e.get_Graphics().DrawLines(SystemPens.get_ControlLightLight(),
            new Point[] { new Point(0, e.get_Bounds().get_Height()
 - 1),
            new Point(0, 0), new Point(e.get_Bounds().get_Width()
 - 1, 0)});
        e.get_Graphics().DrawLines(SystemPens.get_ControlDarkDark(),
            new Point[] { new Point(0, e.get_Bounds().get_Height()
 - 1),
            new Point(e.get_Bounds().get_Width() - 1,
            e.get_Bounds().get_Height() - 1),
            new Point(e.get_Bounds().get_Width() - 1, 0) });
        // Specify custom text formatting flags.
        TextFormatFlags sf = TextFormatFlags.VerticalCenter
            | TextFormatFlags.HorizontalCenter
            | TextFormatFlags.NoFullWidthCharacterBreak;
        // Draw the standard text with customized formatting options.
        e.DrawText(sf);
    }
    // Draw a custom background and text if the ToolTip is for button2.
    else {
        if (e.get_AssociatedControl().Equals(button2)) {
            // Draw the custom background.
            e.get_Graphics().FillRectangle(SystemBrushes.get_ActiveCaption(),
                e.get_Bounds());
            // Draw the standard border.
            e.DrawBorder();
            
            // Draw the custom text.
            // The using block will dispose the StringFormat automatically.
            StringFormat sf = new StringFormat();
            try {
                sf.set_Alignment(StringAlignment.Center);
                sf.set_LineAlignment(StringAlignment.Center);
                sf.set_HotkeyPrefix(System.Drawing.Text.HotkeyPrefix.None);
                sf.set_FormatFlags(StringFormatFlags.NoWrap);                   
 
                Font f = new Font("Tahoma", 9);
                try {
                    e.get_Graphics().DrawString(e.get_ToolTipText(), f,
                        SystemBrushes.get_ActiveCaptionText(),
                        RectangleF.op_Implicit(e.get_Bounds()), sf);
                }
                finally {
                    f.Dispose();
                }                    
            }
            finally {
                sf.Dispose();
            }                
        }
        // Draw the ToolTip using default values if the ToolTip is
        // for button3.
        else {
            if (e.get_AssociatedControl().Equals(button3)) {
                e.DrawBackground();
                e.DrawBorder();
                e.DrawText();
            }
        }
    }        
} //toolTip1_Draw
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DrawToolTipEventArgs クラス
DrawToolTipEventArgs メンバ
System.Windows.Forms 名前空間
SetToolTip
AssociatedWindow
Draw


このページでは「.NET Framework クラス ライブラリ リファレンス」からDrawToolTipEventArgs.AssociatedControl プロパティを検索した結果を表示しています。
Weblioに収録されているすべての辞書からDrawToolTipEventArgs.AssociatedControl プロパティを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からDrawToolTipEventArgs.AssociatedControl プロパティ を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DrawToolTipEventArgs.AssociatedControl プロパティ」の関連用語

DrawToolTipEventArgs.AssociatedControl プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DrawToolTipEventArgs.AssociatedControl プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS