Winform巧用窗體設計完成彈窗數值綁定-以重命名彈窗為例

来源:https://www.cnblogs.com/badaoliumangqizhi/archive/2019/11/20/11895503.html

場景 在WIinform中有一種場景就是對文件進行重命名時需要獲取原來的名字並填充窗體中的輸入框, 然後在點擊保存時還要能獲取彈窗中輸入框的內容。 比如點擊重命名時彈窗 點擊確認時獲取輸入框內容。 註: 博客主頁: https://blog.csdn.net/badao_liumang_qizhi ...


場景

在WIinform中有一種場景就是對文件進行重命名時需要獲取原來的名字並填充窗體中的輸入框,

然後在點擊保存時還要能獲取彈窗中輸入框的內容。

比如點擊重命名時彈窗

 

 

點擊確認時獲取輸入框內容。

 

 

註:

博客主頁:
https://blog.csdn.net/badao_liumang_qizhi
關註公眾號
霸道的程式猿
獲取編程相關電子書、教程推送與免費下載。

實現

新增一個窗體頁面,設計如下

 

 

進入到代碼頁面

首先添加一個文件名欄位用來存儲重命名的文件名

 private string _filename = String.Empty;       //保存要設置的文件名

 

然後新增文件名屬性用來獲取窗體中編輯框輸入的文件名

public string FileName
        {
            get
            {
                return this.textEdit1.EditValue.ToString();
            }
        }

 

為了實現在窗體一打開時就能獲取原來的文件名,在窗體的load方法中,將文件名欄位賦值給窗體中輸入框。

 private void FrmReName_Load(object sender, EventArgs e)
        {
            this.textEdit1.EditValue = this._filename;
        }

 

然後為了在重命名後能獲取到新的名字,在窗體的構造方法中對文件名欄位進行賦值

 public FrmReName(string name)
        {
            this._filename = name;
            InitializeComponent();
        }

 

然後編寫確認與取消按鈕的點擊事件

private void btnOK_Click(object sender, EventArgs e)
        {
            this.DialogResult = System.Windows.Forms.DialogResult.OK;
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
        }

 

完整窗體代碼

public partial class FrmReName : DevExpress.XtraEditors.XtraForm
    {
        private string _filename = String.Empty;       //保存要設置的文件名
        public FrmReName(string name)
        {
            this._filename = name;
            InitializeComponent();
        }

        public string FileName
        {
            get
            {
                return this.textEdit1.EditValue.ToString();
            }
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            this.DialogResult = System.Windows.Forms.DialogResult.OK;
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
        }

        private void FrmReName_Load(object sender, EventArgs e)
        {
            this.textEdit1.EditValue = this._filename;
        }
    }

 

調用示例

//獲取當前文件名
string oldName = Path.GetFileNameWithoutExtension(strIdValue);
                                    
    Dialog.FrmReName frmReName = new FrmReName(oldName);
    frmReName.StartPosition = FormStartPosition.CenterScreen;
    DialogResult result = frmReName.ShowDialog();
    if (result == DialogResult.OK)
       {
        //刷入框新設置的文件名
        string newName = frmReName.FileName;
        }

 


您的分享是我們最大的動力!

更多相關文章
  • PUB(Publisher)文件格式用於新聞稿,小冊子和海報之類的專業設計。它們還可以用於集成和存儲數據源以進行郵件合併和生成數據表。 Aspose一直致力於研究用於執行文件間格式轉換,對文件進行操作(例如創建、版本、操作等)的文件格式API。好消息來啦!專門解決.pub格式載入和轉換為PDF的AP ...
  • 1.下載 .Net Core Runtime 和 Hosting Bundle 下載地址:https://dotnet.microsoft.com/download/dotnet-core 分別下載 Runtime for Windows x64(x86) 和 Hosting Bundle,並安裝。 ...
  • Microsoft Office是市場上最強大的繪圖工具之一。通常,執行基本任務會較為困難 - 比如在頁面內繪製形狀等等。 如果你想以編程方式使用它並開發Add-Ons,小編為你推薦Aspose.Diagram。 Aspose.Diagram for .NET是專門用於處理Microsoft Vis ...
  • using MailKit.Net.Smtp;using MimeKit;using System;using System.Collections.Generic;using System.IO;using System.Threading.Tasks; namespace ConsoleApp2 ...
  • NuGet 是 .NET 平臺下的一個免費、開源的包管理開發工具。 修改全局包管理目錄 通過 NuGet 安裝包時,NuGet 先將包下載至一個統一的目錄,預設路徑是: 下載的包多了以後,會導致 C 盤空間被大量占用。我們可以通過修改配置將其指定到自定義的目錄下。 搜索 文件,預設位置是: ,在根節 ...
  • 一、前言 最近有在看 DDD 的相關資料以及微軟的 eShopOnContainers 這個項目中基於 DDD 的架構設計,在 Ordering 這個示例服務中,可以看到各層之間的代碼調用與我們之前傳統的調用方式似乎差異很大,整個項目各個層之間的代碼全部是通過註入 IMediator 進行調用的,F ...
  • 1 IWorkbook workbook = new XSSFWorkbook(); 2 ISheet sheet = workbook.CreateSheet("-"); 3 IRow row = sheet.CreateRow(0);//標題 4 5 IRow titleRow = row.Cr... ...
  • 1. 什麼是XamlCompositionBrushBase 我早就想試試自定義XamlCompositionBrushBase,但一直沒機會。上一篇文章介紹到 "使用Win2D的BorderEffect實現圖片的平鋪功能" ,原理很簡單,但每次都要寫這些代碼很繁瑣,正好就用這個作為例子試試Xaml ...
一周排行
  • 在園子裡面有很多關於各種技術細節的研究文章,都是比較牛逼的框架研究;但是一直沒有看到關於怎麼樣提高開發效率的文章,大多提高開發效率的文章都是關於自動化等方面的輔助工具類型的,而不是開發中的一些小技巧;今天從編碼規範、編碼技巧、開發思想、設計模式等各方面的經驗來分享如何提高開發效率。 ...
  • 前言 隨著近些年微服務的流行,有越來越多的開發者和團隊所採納和使用,它的確提供了很多的優勢也解決了很多的問題,但是我們也知道也並不是銀彈,提供優勢的同時它也給我們的開發人員和團隊也帶來了很多的挑戰。 為了迎接或者採用這些新技術,開發團隊需要更加註重一些流程或工具的使用,這樣才能更好的適應這些新技術所 ...
  • 本文是本系列的完結篇。本系列前面的文章: 邏輯式編程語言極簡實現(使用C#) - 1. 邏輯式編程語言介紹 邏輯式編程語言極簡實現(使用C#) - 2. 一道邏輯題:誰是凶手 邏輯式編程語言極簡實現(使用C#) - 3. 運行原理 下午,吃飽飯的老明和小皮,各拿著一杯剛買的咖啡回到會議室,開始了邏輯 ...
  • 微服務之間的通信之gRPC 介紹 gRPC是一種與語言無關的高性能遠程過程調用 (RPC) 框架,gRPC是Google發佈的基於HTTP 2.0傳輸層協議承載的高性能開源軟體框架,提供了支持多種編程語言的、對網路設備進行配置和納管的方法。由於是開源框架,通信的雙方可以進行二次開發,所以客戶端和服務 ...
  • 一、TLS 線程本地存儲(Thread Local Storage),字面意思就是專屬某個線程的存儲空間。變數大體上分為全局變數和局部變數,一個進程中的所有線程共用地址空間,這個地址空間被劃分為幾個固有的區域,比如堆棧區,全局變數區等,全局變數存儲在全局變數區,虛擬地址固定;局部變數存儲在堆棧區,虛... ...
  • private:私有成員,在類的內部才可以訪問。 protected:保護成員,該類內部和繼承類中可以訪問。 public:公共成員,完全公開,沒有訪問限制。 internal:當前程式集內可以訪問。 ...
  • 前言 上一篇【.Net Core微服務入門全紀錄(六)——EventBus-事件匯流排】中使用CAP完成了一個簡單的Eventbus,實現了服務之間的解耦和非同步調用,並且做到數據的最終一致性。這一篇將使用IdentityServer4來搭建一個鑒權中心,來完成授權認證相關的功能。 IdentitySe ...
  • using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System. ...
  • 從今天起,我將製作一個電影推薦項目,在此寫下博客,記錄每天的成果。 其實,從我發佈 C# 爬取貓眼電影數據 這篇博客後, 我就已經開始製作電影推薦項目了,今天寫下這篇博客,也是因為項目進度已經完成50%了,我就想在這一階段停一下,回顧之前學到的知識。 一、主要為手機端 考慮到項目要有實用性,我選擇了 ...
  • 一、實現Runnable介面 public class RunnableDemo implements Runnable { public void run() { try { Thread.sleep(100); } catch (InterruptedException e) { e.print ...