如何在 C# 中制作自定义 gui

ret*_*rue 5 c# user-interface

我对在 C# 中制作自定义 gui 感兴趣,我想要一些关于如何最好地做到这一点的建议。所附图片通常是我想要创建的 - 即绘制文本、框/背景、图片、线条、圆圈和其他 gui 元素(如文本输入字段等)。

我真的不知道从哪里开始,我从谷歌搜索中了解到的是 GDI+ 和使用 Paint 事件可能能够做我正在寻找的东西 - 但我不知道那是不是这样去做这样的事情,或者如果它是工作的错误工具(也就是说,与其他东西相比,它很慢/无效)。

//something along the lines of this: 
private void Form1_Paint(object sender, PaintEventArgs e)
{
    System.Drawing.Graphics graphicsObj;

    graphicsObj = this.CreateGraphics();

    Pen myPen = new Pen(System.Drawing.Color.Red, 5);

    Rectangle myRectangle = new Rectangle(20, 20, 250, 200);

    graphicsObj.DrawRectangle(myPen, myRectangle);
}
Run Code Online (Sandbox Code Playgroud)

感谢您的时间,如果我说错了什么,请原谅我;我什至很难向谷歌描述我想要做什么---所以非常感谢你的帮助!!!!

来自 3ds max 的一个很酷的基于节点的 GUI 东西

Dan*_*aan 3

WPF适合您吗?我会根据您提供的屏幕截图推荐它。正如您的代码示例表明您正在使用的那样,这种桌面 GUI 技术比 WinForms 更适合。

  • 通过我提供的链接了解 WPF 和 XAML 的基础知识。
  • 然后了解Canvas面板
  • 那么我建议你了解一下模板

嗯,这应该能让你继续前进。如果您有任何具体问题,我相信我们很乐意为您提供帮助。

更新项目控件中画布面板的示例:https://dannyvanderkraan.wordpress.com/2015/02/12/wpf-listbox-with-任意-positioning-and-custom-shape-items/