我正在使用下面的代码来调用On-Screen Keyboard(OSK)
Process.Start("C:\Windows\System32\OSK.EXE")
Run Code Online (Sandbox Code Playgroud)
但正如你在下面看到的,我收到了一个错误。但如果我手动打开它,它工作正常。
我想知道如何将64 bit long数据类型转换为任何16 bit数据类型.以太网应用程序中需要此功能才能包含时间戳.只有2个字节(16位)可用于包含时间戳.但我们得到的64 bit long是时间戳值Win API.因此,从64位数据类型到16位数据类型的转换是必不可少的.
我有一个VB.net项目,它使用后台工作程序来做一些事情.
现在我想扩展项目,以便能够做多个东西:)
用户可以在文本框中输入URL,当用户单击解析按钮时,程序会创建一个新的tabcontrol,输出一些数据.
我为此使用了一个硬编码的后台工作者.
但现在我想运行多个后台工作人员来完成这些工作,所以我不能依赖硬编码后台工作人员.
是否可以动态创建后台工作程序.
我只是不知道如何设置它,因为我认为我需要设置不同的方法和变量,如:
Private bw As BackgroundWorker = New BackgroundWorker
bw.WorkerReportsProgress = True
bw.WorkerSupportsCancellation = True
AddHandler bw.DoWork, AddressOf bw_DoWork
AddHandler bw.ProgressChanged, AddressOf bw_ProgressChanged
AddHandler bw.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted
bw.RunWorkerAsync()
Run Code Online (Sandbox Code Playgroud)
Private Sub bw_DoWork(),Private Sub bw_RunWorkerCompleted()和Private Sub bw_ProgressChanged()
我想我需要在某种数组中声明后台worker如变量(list/ dictionary)??? 除此之外,我不知道如何解决这个问题.
我用以下方式声明了一个字典:
public static Dictionary<string,bool> Features {get;set;}
Run Code Online (Sandbox Code Playgroud)
填充此字典后,它具有以下值:
**[Key],[Value]**
module1.add,true
module1.update,true
module1.delete,true
module1.save,true
module1.clear,true
module2.add,true
module2.update,true
module2.delete,true
module2.save,true
...
module10.add,true
module10.update,true
module10.delete,true
module10.save,true
Run Code Online (Sandbox Code Playgroud)
填充后,我需要迭代字典键并更新字典值.
例如:无论我在密钥中使用.add和.delete,其值都需要更新为false.
更新后,它必须如下所示
module1.add,false
module1.update,true
module1.delete,false
module1.save,true
module1.clear,true
module2.add,false
module2.update,true
module2.delete,false
module2.save,true
...
module10.add,false
module10.update,true
module10.delete,false
module10.save,true
Run Code Online (Sandbox Code Playgroud)
让我知道如何遍历字典并更新C#中的值.非常感谢您的帮助.
我试图在VB.net中为购物系统编写程序.它将读取数据库并填充表单上的项目.该应用程序在可滚动面板内的标签中显示产品名称等信息.我在运行时创建对象并分配文本等值.我正在使用循环代码.
如果我使用的是vb 6,我将拥有一个控制数组,并使用索引和我的计数器来显示数据.由于我在vb.net中这样做,我无法做到这一点..任何解决方案?
我试图阻止我的文本框,以便他们只能接受数字.我正在寻找互联网,我找到了这个代码
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) HandlesTextBox1.TextChanged
If Not Char.IsNumber(e.KeyChar) And Not Char.IsControl(e.KeyChar) Then
e.Handled = True
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
问题是显示的错误消息:
e.keychar不是system.eventargs的成员
我已经进口了Imports System.EventArgs.知道如何解决这个问题吗?
我的数据库中有datetime数据类型的字段.
我正在解析日期如下:
DateTime dt = DateTime.ParseExact(fileDate, "dd/MM/yyyy",
CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
在将其插入数据库时,我按如下方式进行:
cmd= new SqlCommand("insert into closingStock values('" + subLine[1].ToString() +
"','" + subLine[2].ToString() + "','" + DateTime.Parse(subLine[3]) + "','" +
subLine[10].ToString() + "','" + dt + "')", con);
cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
它给了我以下错误:
String was not recognized as valid datetime.
Run Code Online (Sandbox Code Playgroud)
我犯了什么错误?
我正在尝试编写一个返回特定类型的所有对象的linq查询.
如果我想要购买轿车的所有车型,这样的工作会有用吗?
Dim cars = From c In carFactory.GetAllcars()
Select car = carFactory.GetAuto(c.ID)
Where TypeOf (car) Is Sedan
Run Code Online (Sandbox Code Playgroud) 我在代码中有这个正则表达式 ^(\s*\n)+
任何人都可以解释一下它在寻找什么吗?
我很抱歉这个愚蠢的问题......我花了几个小时但却找不到答案
我试图创建这样一个正则表达式,但我不知道如何让它从07开始
条件:
有效的比赛
0732121212
072212121212
Run Code Online (Sandbox Code Playgroud) 我试图匹配字符串".php",但只有当"share"不在".php"前面时.因此,例如,应该找到"test.php",但应该跳过"share.php".
我有这个RegEx但它似乎在我认为应该没有工作.我觉得 "." 是什么搞砸了我.
(?!.*share)\.php
Run Code Online (Sandbox Code Playgroud)
谁能提供一些帮助?
我收到错误"索引(从零开始)必须大于或等于零且小于参数列表的大小." 我不知道为什么.
我的代码如下:
'read directory and look for filenames that match pattern and have code elements from xml file
Dim regElemName As New Regex("^code")
Dim root = XElement.Load(xmlfile)
Dim codeElements = root.Element("ApplicationSettings").Elements().Where(Function(xe) regElemName.IsMatch(xe.Name.LocalName)).Select(Function(xe) xe.Value)
Dim codes = String.Join("|", codeElements.ToArray())
Dim regFileName As New Regex(String.Format("^\d{5}\-(?<Year>(?:\d{4}))(?<Month>0?[1-9]|12|11|10)(?<Day>[12]\d|0?[1-9]|3[01])\-$", codes))
Dim files = IO.Directory.GetFiles(TextBox1.Text, "*.pdf", IO.SearchOption.TopDirectoryOnly).Where(Function(path) regFileName.IsMatch(IO.Path.GetFileName(path)))
For Each file As String In files
Console.WriteLine(file)
Next
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
如何让我的程序检查字符串是否以VB.NET中的某些东西开头?
例如:
dim examplestr as string
examplestr = textbox1.text
if examplestr = ("www." + %something%) then
examplestr = ("http://" + examplestr)
elseif examplestr = ("http://" + %something%) then
else
if examplestr = (%something%) then
examplestr = ("http://www." + examplestr
end if
Run Code Online (Sandbox Code Playgroud)