怎么样?
我想用几个按钮实现一个足够简单的对话框。
答案 0 :(得分:3)
vb.net或c#.net都使用.net框架。你可以创建一个窗口表单项目,它具有丰富的按钮,表单,标签,网格用户界面......从使用visual studio开始也非常简单beucase visual studio可以为你编写部分代码。
答案 1 :(得分:2)
在Windows中运行一些简单对话框和一些相关代码的最简单方法之一是AutoHotKey。它也是免费的啤酒。
这是一个宏脚本环境,您可以将小程序编写为脚本(并将它们挂钩到键,这就是它的名称和原始目的)。
AHK是一种类似BASIC的小型脚本语言,它简单易用。对于你想做的大多数小项目都足够好。
一个用例/体验
我根本不是Windows程序员;我曾经在Delphi中编程,但现在我主要使用Java。最近我的女朋友需要一些黑客攻击:她买了一个带有注册码的产品,其中一部分钥匙被贴上了污迹。我们需要的是一个程序来强制尝试程序注册对话框中所有可能丢失的字母/数字。合法的黑客,如果你愿意的话。
我考虑过在Delphi中这样做,然后我开始思考哪些神秘的系统调用我需要进入另一个程序的GUI并将文本戳入输入对话框......结果很简单在AHK。我需要大约10分钟来编写我的黑客程序,并且花了大约5分钟才找到正确的密钥。
如果我没记错的话,我的小程序甚至还包括一个对话框,用于指定我们对密钥的了解,以及哪些地方必须进行反复试验。当然还有一个“开始”按钮。
更新
我真的希望我仍然拥有我上面所描述的那个小剧本,但已经好几年了,我把它扔掉了。
我在网上挖出了这个小宝石:
这是一个工作示例脚本,它使用计时器更改MsgBox对话框中按钮的名称。虽然更改了按钮名称,但IfMsgBox命令仍然要求按原始名称引用按钮。
#SingleInstance
SetTimer, ChangeButtonNames, 50
MsgBox, 4, Add or Delete, Choose a button:
IfMsgBox, YES
MsgBox, You chose Add.
else
MsgBox, You chose Delete.
return
ChangeButtonNames:
IfWinNotExist, Add or Delete
return ; Keep waiting.
SetTimer, ChangeButtonNames, off
WinActivate
ControlSetText, Button1, &Add
ControlSetText, Button2, &Delete
return
我同意这是一个愚蠢无用的计划;我发现很难在网上找到有用的小例子。大多数编写AHK脚本的人似乎都喜欢将他们的创作挂在花哨上,直到他们最终成为完整的应用程序,不再适合作为小例子。
很多有用的代码片段可以在AHK的教程和概述中找到:
http://www.autohotkey.com/docs/Tutorial.htm
他们谈论的大部分内容都是将某些功能悬挂在某些键上。 AHK就是这样开始的,但同时它也是一种(大多数)成熟的Windows编程语言。所以不要过多关注关键映射的东西。
这是一个可爱的小脚本来运行记事本,然后发出一个消息框:
RunWait Notepad
MsgBox The user has finished (Notepad has been closed).
这是一个小对话框,用于从用户那里获得一些输入:
MsgBox, 4, , Would you like to continue?
IfMsgBox, No
return
; Otherwise, the user picked yes.
MsgBox You pressed YES.