最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用.net core3.0 正式版創(chuàng)建Winform程序的方法(圖文)

 更新時間:2020年03月17日 09:44:00   作者:伍華聰  
這篇文章主要介紹了使用.net core3.0 正式版創(chuàng)建Winform程序的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前陣子一直期待.net core3.0正式版本的出來,以為這個版本出來,Winform程序又迎來一次新生了,不過9.23日出來的馬上下載更新VS,創(chuàng)建新的.net core Winform項目,發(fā)現(xiàn)并沒有Winform窗體設(shè)計器。而微軟目前則是通過插件的方式,讓我們單獨下載Winform設(shè)計器,這個設(shè)計器還是預(yù)覽版本,很多功能還是沒有實現(xiàn)的,只能算是一個簡單的雛形,本博客案例介紹基于.net core3.0創(chuàng)建一個普通的WInform程序,讓大家了解下基于.net core3.0創(chuàng)建的程序的大概模樣。

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項目一樣的。

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

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

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

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

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

窗體源碼如下所示。

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 core 層面的類庫,因此這里沒有使用第三方的DLL,以后整合的話,第三方相關(guān)的引用也是一個非常頭大的問題,如果大多數(shù)常用的類庫都有基于.net standard 的類庫支持,那倒是好,否則可能會面臨兩難的抉擇,不過.net core的Winform開發(fā)我覺得還是很值得期待的,畢竟引入一個整體的.net core開發(fā)路線,對企業(yè)或者個人來說,都是一個非常不錯的開發(fā)場景。

到此這篇關(guān)于使用.net core3.0 正式版創(chuàng)建Winform程序的方法的文章就介紹到這了,更多相關(guān).net core3.0創(chuàng)建Winform內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

最新評論

嘉义市| 松阳县| 阿勒泰市| 乌拉特中旗| 长春市| 晋江市| 贵溪市| 砚山县| 黄浦区| 从江县| 赤壁市| 定襄县| 莆田市| 西丰县| 九寨沟县| 通江县| 平江县| 金坛市| 宽城| 长兴县| 福建省| 渝北区| 鹰潭市| 满洲里市| 平江县| 桑日县| 克拉玛依市| 兰西县| 光泽县| 蒙阴县| 鱼台县| 铁岭市| 嫩江县| 克什克腾旗| 庆安县| 汨罗市| 罗山县| 广水市| 喀喇沁旗| 蕉岭县| 曲靖市|