溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用.net core3.0 怎么創(chuàng)建一個Winform程序

發(fā)布時間:2021-03-20 15:51:46 來源:億速云 閱讀:343 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了使用.net core3.0 怎么創(chuàng)建一個Winform程序,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

1、開發(fā)環(huán)境的準(zhǔn)備

要做基于.net core3.0的WInform開發(fā),需要首先更新你的Visual Studio到16.3,這個版本是整合.net core3.0的,因此也是能夠開發(fā).net core Winform程序的基礎(chǔ)。

其次是下載winforms-designer插件,這個是支持對Winform窗體的設(shè)計器,讓我們可以通過拖動控件的方式進行界面的設(shè)計開發(fā)。

.NET Core Windows Forms 可視化設(shè)計器在將來一定是未來的Visual Studio 2019更新的一部分,但目前來說,想要可視化設(shè)計器,需要一個預(yù)發(fā)布的Visual Studio擴展。

完成這兩個步驟,其他開發(fā)就和我們普通創(chuàng)建VS項目一樣的。

使用.net core3.0 怎么創(chuàng)建一個Winform程序

創(chuàng)建項目后,我們可以打開對應(yīng)的Winform窗體,并可以在工具箱里面看到一些Winform界面控件,好的是控件的大概和以前差不多,不好的事情是少了很多常規(guī)Winform控件,這個也是目前WInform 設(shè)計器處于開發(fā)預(yù)覽版的原因所在吧。

使用.net core3.0 怎么創(chuàng)建一個Winform程序

2、創(chuàng)建一個WInform程序

為了創(chuàng)建一個簡單測試的WInform程序,我們可以往里面添加一些WInform的界面控件,不過使用過程中,發(fā)現(xiàn)很多界面所需元素沒有提供界面控件的支持,包括工具欄、屬性里面都還不完善,如ImageList對象和Image對象的屬性支持等,我們只能通過代碼的方式進行使用。

我創(chuàng)建一個簡單的WInform界面,拖動了一些常規(guī)的控件,但是一些控件需要使用圖片的,如ListView、PictureBox等這些,需要通過代碼設(shè)置(無法通過屬性加入的方式指定圖片)

使用.net core3.0 怎么創(chuàng)建一個Winform程序

最后界面展示效果如下所示。

使用.net core3.0 怎么創(chuàng)建一個Winform程序

窗體源碼如下所示。

public partial class Form1 : Form
 {
  public Form1()
  {
   InitializeComponent();
  }

  private void button1_Click(object sender, EventArgs e)
  {
   MessageBox.Show("你好,這是一個.net core的Winform程序", "提示信息", 
    MessageBoxButtons.OK, MessageBoxIcon.Information | MessageBoxIcon.Asterisk);
  }

   
  private ImageList imageList = new ImageList();
  private void Form1_Load(object sender, EventArgs e)
  {
   var image = Image.FromFile(Path.Combine(Application.StartupPath, "SplashScreen.png"));
   if(image != null)
   {
    this.pictureBox1.Image = image;
   }

   imageList.Images.Clear();
   var iconPath = Path.Combine(Application.StartupPath, "icons");
   var fileNames = Directory.GetFiles(iconPath, "*.ico");
   foreach(string file in fileNames)
   {
    imageList.Images.Add(file, Image.FromFile(file));
   }
   this.treeView1.ImageList = imageList;
   foreach(TreeNode node in this.treeView1.Nodes)
   {
    SetNodeImage(node);
   }

   this.button1.Image = imageList.Images[2];
  }

  private void SetNodeImage(TreeNode node)
  {
   foreach (TreeNode subNode in node.Nodes)
   {
    subNode.ImageIndex = subNode.Level;
    subNode.SelectedImageIndex = subNode.Level;
    SetNodeImage(subNode);
   }
  }

從中我們可以看到,.net core下的WInform程序,它的窗體元素或者相關(guān)對象,沒有發(fā)生不一致命名的情況,用起來還是非常方便一致的,不過就是對應(yīng)很多界面的功能,目前只能通過后臺代碼的方式進行補充,才能實現(xiàn)一個比較完整的效果,和.net Framework框架下已經(jīng)完善的非常好的Winform開發(fā),真的是差距不是一點半點,看來.net core winform開發(fā)的路還是很漫長,需要在工具層面更多的支持才行。

界面方案里面,我們看到命名空間也比以前少了很多了了。主要還是基于.net core 提供的WInform包。

使用.net core3.0 怎么創(chuàng)建一個Winform程序

我們再來看看程序目錄下的文件如下所示。

使用.net core3.0 怎么創(chuàng)建一個Winform程序

上述內(nèi)容就是使用.net core3.0 怎么創(chuàng)建一個Winform程序,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI