制作一个类似于Visual Basic的输入框
本文关键字:Basic Visual 输入 类似于 一个 | 更新日期: 2023-09-27 18:18:12
我已经创建了一个InputBox类,它返回一个字符串,但是我希望这个类在退出时返回一个字符串。
我希望它的行为完全像Visual Basic输入框。
现在,我已经将一个可变字符串值传递给构造函数并以这种方式更改它。但后来我意识到Visual Basic输入框要好得多。
myValue = InputBox(message, title, defaultValue)
如何像这样创建自己的InputBox类?我意识到我可以将VB的输入框导入c#,但我想创建自己的自定义输入框。
编辑:我想我对这一点如此着迷的原因是因为Visual Basic允许你调用一个函数而不输入类名。我希望在c#中有一种不用委托就能做到这一点的方法。我认为我的解决方案可能是创建一个函数封装我的形式。所以,也许我会把我的问题重新表述为,是否有一种方法,我可以返回一个值,通过一些东西,表现得像一个类?
假设Visual Basic InputBox是一个类是不正确的。事实上,它是一个函数。下面是方法定义:
Public Function InputBox( _
ByVal Prompt As String, _
Optional ByVal Title As String = "", _
Optional ByVal DefaultResponse As String = "", _
Optional ByVal Xpos As Integer = -1, _
Optional ByVal YPos As Integer = -1 _
) As String
再深入一点,它作为Interaction
类的一个方法驻留在Microsoft.VisualBasic.dll中。
最接近VB的模拟方法。. NET语法糖是隐式地将您的自定义InputBox
转换为string
,例如:
public class InputBox
{
private string _title;
public InputBox(string title)
{
_title = title;
}
public static implicit operator string(InputBox from)
{
return from._title;
}
}
// .. elsewhere ..
string title = new InputBox("Test");
Console.WriteLine(title); // prints Test
. .虽然我不确定自己是否会这么做。
显然title
就是一个例子。你的InputBox
类将产生一个Form
(或从它继承),并返回输入到表单。
. .我能问一下你为什么想要复制这个吗?