欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

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

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

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

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

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

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

窗體源碼如下所示。

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

  private void button1_Click(object sender, EventArgs e)
  {
   MessageBox.Show("你好,這是一個(gè).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)對(duì)象,沒(méi)有發(fā)生不一致命名的情況,用起來(lái)還是非常方便一致的,不過(guò)就是對(duì)應(yīng)很多界面的功能,目前只能通過(guò)后臺(tái)代碼的方式進(jìn)行補(bǔ)充,才能實(shí)現(xiàn)一個(gè)比較完整的效果,和.net Framework框架下已經(jīng)完善的非常好的Winform開(kāi)發(fā),真的是差距不是一點(diǎn)半點(diǎn),看來(lái).net core winform開(kāi)發(fā)的路還是很漫長(zhǎng),需要在工具層面更多的支持才行。

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

我們?cè)賮?lái)看看程序目錄下的文件如下所示。

由于目前我們還沒(méi)有考慮第三方的.net core 層面的類庫(kù),因此這里沒(méi)有使用第三方的DLL,以后整合的話,第三方相關(guān)的引用也是一個(gè)非常頭大的問(wèn)題,如果大多數(shù)常用的類庫(kù)都有基于.net standard 的類庫(kù)支持,那倒是好,否則可能會(huì)面臨兩難的抉擇,不過(guò).net core的Winform開(kāi)發(fā)我覺(jué)得還是很值得期待的,畢竟引入一個(gè)整體的.net core開(kāi)發(fā)路線,對(duì)企業(yè)或者個(gè)人來(lái)說(shuō),都是一個(gè)非常不錯(cuò)的開(kāi)發(fā)場(chǎng)景。

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

您可能感興趣的文章:

相關(guān)文章

  • 使用ASP.NET模板生成HTML靜態(tài)頁(yè)面的五種方案

    使用ASP.NET模板生成HTML靜態(tài)頁(yè)面的五種方案

    使用ASP.NET模版生成HTML靜態(tài)頁(yè)面并不是難事,主要是使各個(gè)靜態(tài)頁(yè)面間的關(guān)聯(lián)和鏈接如何保持完整。本文介紹了使用ASP.NET模版生成HTML靜態(tài)頁(yè)面的五種方案
    2011-11-11
  • ADO.NET基礎(chǔ)知識(shí)匯總

    ADO.NET基礎(chǔ)知識(shí)匯總

    程序和數(shù)據(jù)庫(kù)交互,要通過(guò)ADO.NET進(jìn)行;通過(guò)ADO.NET就能在數(shù)據(jù)庫(kù)中執(zhí)行SQL了 。ADO.NET中提供了對(duì)不同數(shù)據(jù)庫(kù)的統(tǒng)一操作接口(ODBC) 。另外還有一種操作數(shù)據(jù)庫(kù)的接口是JDBC
    2015-11-11
  • .NET Core利用swagger進(jìn)行API接口文檔管理的方法詳解

    .NET Core利用swagger進(jìn)行API接口文檔管理的方法詳解

    這篇文章主要給大家介紹了關(guān)于.NET Core利用swagger進(jìn)行API接口文檔管理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • .NET RulesEngine(規(guī)則引擎)的使用詳解

    .NET RulesEngine(規(guī)則引擎)的使用詳解

    這篇文章主要介紹了.NET RulesEngine(規(guī)則引擎)的使用詳解,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下
    2021-05-05
  • aspx如果引用cs中的變量的方法

    aspx如果引用cs中的變量的方法

    引用cs中變量的實(shí)現(xiàn)方法
    2008-07-07
  • GridView中日期不顯示時(shí)分秒的完美解決方法

    GridView中日期不顯示時(shí)分秒的完美解決方法

    下面小編就為大家?guī)?lái)一篇GridView中日期不顯示時(shí)分秒的完美解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看吧
    2016-05-05
  • Asp.Net Core輕松學(xué)習(xí)系列之配置文件

    Asp.Net Core輕松學(xué)習(xí)系列之配置文件

    這篇文章主要給大家介紹了關(guān)于Asp.Net Core輕松學(xué)習(xí)系列之配置文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • asp.net 分頁(yè)潛談

    asp.net 分頁(yè)潛談

    最近研究了一下Asp.net下的分頁(yè)功能。以前受前輩們的誤導(dǎo),人云已云的以為做分頁(yè)很難很麻煩。這一研究才發(fā)現(xiàn),分頁(yè)也不過(guò)如此嘛。
    2009-06-06
  • 如何在網(wǎng)站級(jí)別動(dòng)態(tài)更改主題

    如何在網(wǎng)站級(jí)別動(dòng)態(tài)更改主題

    如何在網(wǎng)站級(jí)別動(dòng)態(tài)更改主題...
    2007-04-04
  • ASP.NET MVC生成靜態(tài)頁(yè)面的方法

    ASP.NET MVC生成靜態(tài)頁(yè)面的方法

    對(duì)于網(wǎng)站來(lái)說(shuō),生成純html靜態(tài)頁(yè)面除了有利于seo外,還可以減輕網(wǎng)站的負(fù)載能力和提高網(wǎng)站性能。本篇文章主要介紹了ASP.NET MVC生成靜態(tài)頁(yè)面的方法,有興趣的可以了解一下。
    2017-03-03

最新評(píng)論