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