• 引用dll动态库,动态库中弹出对话框输入,将输入参数,作为变量继续调用。


      在做支付项目时,引用动态库,动态库弹出支付宝或者微信的支付码,继而接收。最终将结果返回给调用动态库方法。

    首先,动态库接收的是一个string 类型的xml,如 public string Pay(string inputxml){...},继而弹出一个form,可以在动态库项目中新增一个windows窗体项目

    在窗体项目中,添加需要返回的支付码,即text需要返回给dll处理的条形码,窗口如下:

    代码如下:

    public partial class ShowDialog : Form
        {
            public ShowDialog()
            {
                InitializeComponent();
            }
    
            private string _barCode;//需要返回的条码
            public string BarCode
            {
                get { return _barCode; }
                set { this._barCode = value; }
            }
    
            private void txt_barCode_KeyDown(object sender,KeyEventArgs e) //点击enter后,需要返回给dll,窗口关闭
            {
                if(e.KeyCode == Keys.Enter)
                {
                    _barCode = this.txt_barCode.Text;
                    this.DialogResult = System.Windows.Forms.DialogResult.OK;
                    this.Close();
                }
            }
    
            private void btn_Cancel_Click(object sender, EventArgs e)//取消,窗口关闭,dll处理,支付取消
            {
                this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
                this.Close();
            }
    
            private void ShowDialog_Load(object sender, EventArgs e)
            {
                this.txt_barCode.TabIndex = 0;
                this.txt_barCode.Focus();
            }
        }

    切记要注意的是,txt_barCode_KeyDown是一个事件,在支付窗口设计时,必须要添加KeyDown事件,具体,右键,textbox属性,在如下中添加:

    完毕后,输入支付条码后,就可接收值啦,如下:

    //对话框,接收扫码字符串
                            ShowDialog sd = new ShowDialog();
                            if (sd.ShowDialog() == DialogResult.OK)
                            {
                                string barCode = sd.BarCode;//条码
                                // 继续传参给支付宝或微信支付
                            }                            

    大致如此。。

  • 相关阅读:
    ZABBIX自动发现添加主机功能
    Kafka史上最详细原理总结
    python的基本函数
    windows和linux出现timewait过多的解决方法
    Ext.Net使用DirectMethod.request调用一般处理程序(.ashx)并传递参数
    $.post、$.get、$.ajax三者的区别
    .net Web应用程序添加WebService引用时报错的问题
    ASP.NET TreeView控件各个节点总是居中对齐,而不是左对齐的问题
    利用Win8上的IIS来部署ASP网站
    做文件目录DEMO时发现的问题
  • 原文地址:https://www.cnblogs.com/yuhuabaobao/p/5533642.html
Copyright © 2020-2023  润新知