引用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 = ;
this.txt_barCode.Focus();
}
}
切记要注意的是,txt_barCode_KeyDown是一个事件,在支付窗口设计时,必须要添加KeyDown事件,具体,右键,textbox属性,在如下中添加:

完毕后,输入支付条码后,就可接收值啦,如下:
//对话框,接收扫码字符串
ShowDialog sd = new ShowDialog();
if (sd.ShowDialog() == DialogResult.OK)
{
string barCode = sd.BarCode;//条码
// 继续传参给支付宝或微信支付
}
大致如此。。
引用dll动态库,动态库中弹出对话框输入,将输入参数,作为变量继续调用。的更多相关文章
- 在动态链接库dll中弹出对话框
在动态链接库dll中弹出对话框步骤: 1.添加Dialog资源,然后在资源视图的对话框界面右击添加类,输入类名MyDlg,使得其继承与CDialogEx.(继承CDialog应该也可以)2.在新生成的 ...
- Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解
Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解 在swing中,基于业务的考量,会有对话框来限制用户的行为及对用户的动作进行提示. Swing中 ...
- Android中弹出对话框,AlertDialog关键代码
写在这里便于以后查看. Android中弹出对话框的关键代码: btn01.setOnClickListener(new OnClickListener() { @Override public vo ...
- PyQt中弹出对话框操作
经常有初学者搞不清楚如何在PyQt中弹出对话框,以及如何处理返回值.这篇文章会举例说明,界面采用手工编写. 我们一般说的对话框指的是模态对话框(Modal Dialogue Box),一旦弹出,就不能 ...
- 在MFC主对话框OnInitDialog()中弹出对话框
BOOL CXXXDlg::OnInitDialog(){ CDialogEx::OnInitDialog(); SetIcon(m_hIcon, TRUE); SetIcon(m_hIcon, FA ...
- Android 在Service中弹出对话框
1.在Androidmanifest.xml中插入 <uses-permission android:name="android.permission.SYSTEM_ALERT_WIN ...
- Swing中弹出对话框的几种方式(转)
http://www.cnblogs.com/mailingfeng/archive/2011/12/28/2304289.html 在swing中,基于业务的考量,会有对话框来限制用户的行为及对用户 ...
- Android 在广播接收器中弹出对话框
特别需要注意的几点如下: 需要设置AlertDialog的类型 WindowManager.LayoutParams.TYPE_SYSTEM_ALERT 2. 需要声明Window弹框的权限 < ...
- C# Web开发中弹出对话框的函数[转载]
public void Alert(string str_Message) { ClientScriptManager scriptManager =((Page)System.Web.HttpCon ...
随机推荐
- javascript数据结构-链表
gihtub博客地址 链表 是一种物理存储单元上非连续.非顺序的存储结构,它既可以表示线性结构,也可以用于表示非线性结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每 ...
- Java Native Interfce三在JNI中使用Java类的普通方法与变量
本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 前面我们学习了如何在JNI中通过参数来使用J ...
- highcharts的引用
开放 CDN 服务 1.基础的使用(CDN) <script src="http://cdn.hcharts.cn/jquery/jquery-1.8.3.min.js"&g ...
- Angularjs 脏值检测
文章转自:http://www.ituring.com.cn/article/39865 构建自己的AngularJS,第一部分:Scope和Digest 原文链接:http://teropa.inf ...
- MySQL学习笔记(1/2)
数据库的学习要求:1.为项目设计表:2.使用SQL(Structure Query Language)语句(SQL编程).其他的都可以使用工具完成. SQL: DDL:创建库.创建表 DML:对数据的 ...
- Android笔记:多线程
定义线程的两个方法: 1. class MyThread extends Thread { public void run() {// 处理具体的逻辑 } } new MyThread().start ...
- waxpatch修改任意类的用法
例如:修改一个UIView(PJView)的子类和一个NSObject(PJModel)类,则需要在patch.lua文件中声明这两个要修改的类 并且建立这些待修改的类的对应的.lua文件 对应的.l ...
- c#中取整,向上取,向下取
Math.Ceiling()向上取整, Math.Floor()向下取整 示例: d = 4.56789 Math.Ceiling(Convert.ToDecimal(d)).ToString();M ...
- kettle系列-2.kettle源码结构分析
kettle是一个开源产品,产品本身设计是很优秀的,代码应该是很多开源爱好者用业余时间贡献的,代码整体结构还是比较容易理解的,但具体到每一个控件内部就因人而异了,感觉还是挺复杂的,肯定别人考虑得比较全 ...
- php多进程
增加 pcntl扩展pcntl扩展可以支持php的多线程操作(仅限linux系统)加载 pcntl 有两种方式一种重新编译安装,在编译时加,configrue提示加上--enable-pcntl./c ...