2
有誰知道是否有可能以編程方式確定System.Windows.Forms.TrackBar
的拇指尺寸。 (通過拇指我的意思是你拖動的位!)Trackbar Thumb Dimensions
我知道你可以從System.Windows.Forms.SystemInfo
類獲得像滾動條寬度的東西,但似乎沒有任何的trackbars。
謝謝。
有誰知道是否有可能以編程方式確定System.Windows.Forms.TrackBar
的拇指尺寸。 (通過拇指我的意思是你拖動的位!)Trackbar Thumb Dimensions
我知道你可以從System.Windows.Forms.SystemInfo
類獲得像滾動條寬度的東西,但似乎沒有任何的trackbars。
謝謝。
拇指大小可以通過發送TBM_GETTHUMBRECT消息到TrackBar
控件獲得。有沒有辦法直接從C#做的,但你可以定義適當的Win32結構和P /調用SendMessage()
:
[StructLayout(LayoutKind.Sequential)]
public struct RECT
{
public int Left;
public int Top;
public int Right;
public int Bottom;
}
[DllImport("user32.dll")]
static extern void SendMessage(IntPtr hwnd, uint msg, IntPtr wp, ref RECT lp);
private const uint TBM_GETTHUMBRECT = 0x419;
// Implemented as an extension method.
public static RECT GetThumbRect(this TrackBar trackBar)
{
RECT rc = new RECT();
SendMessage(trackBar.Handle, TBM_GETTHUMBRECT, IntPtr.Zero, ref rc);
return rc;
}
+1。完美,這是一種享受。謝謝! – Nick 2011-04-15 12:56:38