是否有人知道是否可以通过编程方式确定System.Windows.Forms.TrackBar
的拇指尺寸。 (通过拇指我的意思是你拖着一点!)
我知道你可以从System.Windows.Forms.SystemInfo
类中获取滚动条宽度等内容,但似乎没有任何关于跟踪栏的内容。
感谢。
答案 0 :(得分:3)
可以通过向TrackBar
控件发送TBM_GETTHUMBRECT消息来获取缩略图大小。无法直接从C#中执行此操作,但您可以定义相应的Win32结构并调用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;
}