如何解决轨迹栏拇指尺寸
| 有谁知道是否可以通过编程确定“ 0”的拇指尺寸。 (用拇指指的是您拖来转去的地方!) 我知道您可以从System.Windows.Forms.SystemInfo
类获得诸如滚动条宽度之类的东西,但似乎没有任何用于跟踪条的东西。
谢谢。
解决方法
可以通过将TBM_GETTHUMBRECT消息发送到“ 2”控件来获得拇指大小。无法直接从C#中执行此操作,但可以定义适当的Win32结构并p / invoke
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;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。