【问题标题】:Can you make reusable your UI functions?你能让你的 UI 功能可重用吗?
【发布时间】:2011-07-09 21:44:12
【问题描述】:

一个简单的例子是我想要创建的一个函数。

private void drawRectangle(int x, int y)

我发送坐标,它会绘制一个具有一些特殊性的矩形。该功能将至少有两种形式。您如何使该函数可重用并防止在两个地方编写它?

谢谢!

【问题讨论】:

    标签: c# .net winforms visual-studio user-interface


    【解决方案1】:

    对于 WinForms,将 Graphics 对象传递给您的方法:

    private void drawRectangle(int x, int y, Graphics g)
    

    然后将矩形绘制到 Graphics 对象。

    【讨论】:

      【解决方案2】:

      您可以添加第三个参数,例如UIElement,以便您的方法如下所示:

      private void drawRectangle(int x, int y, UIElement space)
      

      并让方法在指定空间打印矩形。

      【讨论】:

      • 感谢您的回答。 UIElement 在 winforms 上工作吗?我以为它只适用于 WPF?
      • @Mathieu,当然你没有在你的问题中指定 WinForms。
      【解决方案3】:

      向您的项目添加另一个类,将此方法添加为 public 静态辅助函数。您需要提供更多参数,至少是我想象的 Graphics 对象。矩形也需要宽度和高度。避免对这些进行硬编码,当您的表单在具有更高视频 DPI 设置的机器上重新缩放时,这很少适合。

      【讨论】:

      • 感谢您的良好实践建议!尤其是关于重新缩放,我总是容易忘记。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      • 1970-01-01
      • 2015-05-03
      • 1970-01-01
      • 2012-05-30
      • 2018-10-06
      相关资源
      最近更新 更多