欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Winform巧用窗体设计完成弹窗数值绑定-以重命名弹窗为例

程序员文章站 2022-07-02 08:02:57
场景 在WIinform中有一种场景就是对文件进行重命名时需要获取原来的名字并填充窗体中的输入框, 然后在点击保存时还要能获取弹窗中输入框的内容。 比如点击重命名时弹窗 点击确认时获取输入框内容。 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi ......

场景

在wiinform中有一种场景就是对文件进行重命名时需要获取原来的名字并填充窗体中的输入框,

然后在点击保存时还要能获取弹窗中输入框的内容。

比如点击重命名时弹窗

Winform巧用窗体设计完成弹窗数值绑定-以重命名弹窗为例

 

 

点击确认时获取输入框内容。

Winform巧用窗体设计完成弹窗数值绑定-以重命名弹窗为例

 

 

注:

博客主页:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

新增一个窗体页面,设计如下

Winform巧用窗体设计完成弹窗数值绑定-以重命名弹窗为例

 

 

进入到代码页面

首先添加一个文件名字段用来存储重命名的文件名

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