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

时间:2016-04-20 08:06:35

标签: c# user-interface

我有兴趣在C#中制作一个自定义gui,我想知道如何最好地解决这个问题。附图通常是我想要创建的 - 即绘图文本,框/背景,图片,线条,圆圈和其他gui元素(如文本输入字段等)。

我真的不知道从哪里开始,我从谷歌搜索中得到的结论是GDI +和使用绘画活动可能能够做到我想要的 - 但我不会'我知道这是否是制作这种东西的方法,或者它是否是工作的错误工具(也就是说它与其他东西相比很慢/无效)。

//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);
}

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

A cool looking node based GUI thing from 3ds max

2 个答案:

答案 0 :(得分:3)

WPF是您的选择吗?我会根据您提供的屏幕截图推荐它。这种桌面GUI技术比WinForms更适合您的代码示例建议您使用。

  • 通过我提供的链接了解WPF和XAML的基本知识。
  • 然后了解Canvas小组
  • 然后我建议您了解Templates

嗯,这应该让你去。如果您有任何具体问题,我相信我们很乐意在SO提供帮助。

更新项目控件中的Canvas面板示例:https://dannyvanderkraan.wordpress.com/2015/02/12/wpf-listbox-with-arbitrary-positioning-and-custom-shaped-items/

答案 1 :(得分:0)

您可以使用WPF,也可以搜索Windows窗体主题。你可以通过自定义窗体来做惊人的自定义gui。如果你要创建一个新项目,我建议你使用WPF,因为它更容易实现自定义人(特别是透明度)