我正在使用进度条来显示电池状态。如果用户单击进度条,我想显示一个包含详细信息的弹出窗口。
排除需要检查点击坐标是否在进度条范围内的解决方案有没有人找到另一个解决方案或解决方法?
我正在使用进度条来显示电池状态。如果用户单击进度条,我想显示一个包含详细信息的弹出窗口。
排除需要检查点击坐标是否在进度条范围内的解决方案有没有人找到另一个解决方案或解决方法?
此外,通常认为仅以用户习惯的方式使用控件是一种好的形式。进度条仅用于(并且传统上使用)显示信息。这就是为什么他们删除了 Compact Framework 中的所有交互事件。
我认为更好的方法是保留进度条,并在进度条上方或旁边添加“详细信息”LinkLabel。
好的,进行自定义控件的一种更简单的方法是从 UserControl 开始,在其上放置一个 ProgressBar 并将其停靠以填充 UserControl,然后将 ProgressBar 公开为 UserControl 的公共属性,以便您的代码将说
myProgressBar1.ProgressBar.Max = 100
代替
progressBar1.Max = 100
然后只需使用用户控件的 Click 事件来显示详细信息(我认为您可能必须禁用内部 ProgressBar 才能使单击工作,但这不应该影响进度条的外观)。
这样你的用户控件看起来就像一个常规的进度条(因此,像屁股)。:)
我一直只是编写自己的自定义 ProgressBar 用户控件。写起来可能需要 5 分钟,而且内置的进度条控件无论如何看起来都像屁股。
我认为可能可以为此使用反射,但编写自己的控件会更容易。
更新:我刚刚尝试将 ProgressBar 转换为 Control(它确实有一个 Click 事件),然后在代码中分配一个事件处理程序,但这似乎不起作用。