如何使按钮不可见但仍然有效?

时间:2015-01-27 12:09:59

标签: c# winforms button calendar invisible

我目前正在尝试创建一个程序,其中包含日历的图片,当用户点击任何给定的星期五时,将出现一个消息框。我一直尝试这样做的当前方法是在日期上放置一个按钮,但我似乎无法找到一种方法,以便按钮在同一时间不可见和功能。

这些都在C#Windows窗体应用程序中。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

有几种解决方案:

  1. 使用空PictureBox代替Button。这是您所说的最接近,最快捷的解决方案。请注意,此辅助PictureBox必须是日历的子级(其背景颜色设置为Transparent)。 Windows.Forms中的透明度仅适用于直接父项(它比这更复杂,但让我们简化)。

  2. 在显示日历的MouseUp上使用PictureBox事件,并使用提供的MouseEventArgs作为事件处理程序的参数来查找X和Y位置单击按钮时该控件中的鼠标。

  3. 使用合适的日历/日期选择器控件,而不是显示一个

    的图像
  4. 事实:我不认可#1,只是把它放在那里因为它似乎是你要求的。我宁愿选择#2或#3(特别是#3)

    PS:如果你想真正模拟Click,你应该同时处理MouseDownMouseUp(点击通常意味着在控件上按下鼠标按钮然后释放它在同一控制内)