zoukankan      html  css  js  c++  java
  • 引用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;//条码
                                // 继续传参给支付宝或微信支付
                            }                            

    大致如此。。

  • 相关阅读:
    docker OCI runtime
    docker 非root用户修改mount到容器的文件出现“Operation not permitted
    清除canvas画布内容--点擦除+线擦除
    js实现存储对象的数据结构hashTable和list
    学习ES6的全部特性
    页面重绘与重排版的性能影响
    测试css3的动画效果在display:none的时候不耗费性能
    stroke和fill顺序对绘图的影响
    css样式学习小知识
    统一事件监听
  • 原文地址:https://www.cnblogs.com/yuhuabaobao/p/5533642.html
Copyright © 2011-2022 走看看