油漆窗外(和控件)

时间:2012-01-12 13:58:03

标签: c# winforms visual-studio-2008 window drawing

我认为如果我使用图像,那将是最好的: enter image description here

我需要我的控件可以作为datetimepicker日历在窗外。我在方法中使用panelKalendar = new PanelDoubleBuffer();void panelKalendar_Paint(object sender, PaintEventArgs e)我画了一切。但它绘制到窗口和belov所有其他控件。如何获得DateTimePicker中使用的“效果”?

2 个答案:

答案 0 :(得分:2)

组合框的下拉列表(也可能是日历控件的下拉面板)是桌面的子窗口。这也是你必须要做的事情:将控件嵌套在无边框形式中,并将该窗体赋予null父级,以便它是顶级窗口,而不是应用程序窗口的子窗口。

由于您的表单将是顶级窗口,因此需要在屏幕坐标中指定其位置,而不是在表单本地的坐标中指定。您可以使用PointToScreen方法获取这些坐标。

答案 1 :(得分:0)

我担心你无法通过form孩子控件实现你想要的东西(这实际上就是你所做的),因为它会被截断父(form)边界。

Imo,您可以尝试使用一个单独的WidnowdForm控件,该控件在panel现在出现的位置显示完全

希望这有帮助。