为了澄清我的要求,请查看设计器中的Font属性.单击其下拉列表时,您将获得ForeColor,ImeMode,Language等选项.
我想要同样的下拉列表,允许我输入我自己添加到设计器的属性的多个值(它将用于我的自定义控件中的数据库属性,并为您提供选择版本,类型等的选项. ).
我该怎么做呢?我看了一遍,我找不到解决方案.
谢谢.
我有一个带有datagridview的vb.net windows窗体应用程序.我希望找到一种方法来更改datagridview中多列的宽度.这是我到目前为止所做的,但它只改变了第一列的宽度,而不是其余的.我感谢您给予的任何帮助.
Dim columnwidth1 As DataGridViewColumn = DataGridView1.Columns(0)
columnwidth1.Width = 100
Dim columnwidth2 As DataGridViewColumn = DataGridView1.Columns(1)
columnwidth2.Width = 100
Dim columnwidth3 As DataGridViewColumn = DataGridView1.Columns(2)
columnwidth3.Width = 100
Dim columnwidth4 As DataGridViewColumn = DataGridView1.Columns(3)
columnwidth4.Width = 100
Run Code Online (Sandbox Code Playgroud) 我一直试图从我的字符串中删除所有零字符
我的字符串是由这些十六进制字节组成的
00 44 00 65 00 6C 00 70 00 68 00 69
对于每个字母,前面都有一个零字节(空字节).我猜测我必须使用某种Unicode编码或宽编码才能获得没有那些零的文本.
但我无法理解,所以我认为最好的方法是使用替换,但即使失败.
Dim packet() As String = {&H0, &H44, &H0, &H65, &H0, &H6C, &H0, &H70, &H0, &H68, &H0, &H69}
Dim str As String = Encoding.ASCII.GetString(packet, 0, 12)
str = str.Replace("\0", "") 'Compiles and fails
str = str.Replace(\0, "") 'No compile
str = str.Replace('\0', "") 'No compile
Run Code Online (Sandbox Code Playgroud) 我正在编写一个使用图形卡验证的程序.我尝试过多种方式; 我找到的最接近的是使用:
lblGrapics.Text = infotypes.VideocardName.GetName()
Run Code Online (Sandbox Code Playgroud)
但自动返回等于1.我怎样才能获得卡名和其他说明?
我正在vb.net中开发一个网页,它将为用户生成一些多项选择题.我需要将已经放入数组的四个答案洗牌.让我们假设我必须遵循数组:
array = {"Correct", "Wrong1", "Wrong2", "Wrong3"}
Run Code Online (Sandbox Code Playgroud)
我试着使用以下方法:
Public Shared Function Shuffle(ByVal items() As String) As Array
Dim max_index As Integer = items.Length - 1
Dim rnd As New Random(DateTime.Now.Millisecond)
For i As Integer = 0 To max_index
' Pick an item for position i.
Randomize()
Dim j As Integer = rnd.Next(i, max_index)
' Swap them.
Dim temp As String = items(i)
items(i) = items(j)
items(j) = temp
Next i
Return items
End Function
Run Code Online (Sandbox Code Playgroud)
该功能工作得非常好,但我的问题是,如果我有四个问题,每个问题的答案都会被洗牌,但正确的答案将在一个位置,如:
array = {"Wrong1", "Correct", "Wrong2", …Run Code Online (Sandbox Code Playgroud) 我有两个包含一组名称的字符串列表,我想知道的是如何比较这两个列表以找到相同的名称,然后编写一个if语句,该语句执行基于比较的操作。
清单1:Philip Bob Michael
清单2:James Peter Bob
我在PropertyGrid中显示对象的属性.其中一个属性是枚举.因此,它使用组合框编辑器显示,该编辑器列出了枚举的所有值.这一切都很棒,但我需要在运行时过滤枚举值列表.我不能用Browsable属性装饰一些枚举值,因为我想要隐藏的值会有所不同.目前我倾向于定制的UITypeEditor,但我认为我应该首先与智能人员核实.
我想要做的是将所需的字符(如“空格”)插入所需的字符串(如“123456789”)的特定点。示例:在字符串 123456789 = 1234 56789 中的位置 5 处插入一个空格。这是我的代码:
Dim str As String = sum2.Text '123456789
Dim insStr As String = " " 'space
Dim strRes As String = str.Insert(5, insStr) '5th position
Run Code Online (Sandbox Code Playgroud)
代码看起来不错,当我使用它或运行它时,我没有收到任何错误,但它不会在第五个位置添加空格,所以我需要一些帮助!
这是交易,我有一些集合要插入到验证类中,我试图让它能够插入到Visual Studio的编辑器IDE中并解释所有上下文(如果还不够,请问我)我想要PropertyGrid以显示其EventsTab这样在Visual Studio的IDE
但问题是我已经检查了winforms源代码并且我能理解我已经发现为了插入Button for EventsTab我们必须调用ShowEventsButton(true)PropertyGrid的私有方法但是不能工作(用反射调用它)
我在这个方案中有两个类,其中一个是Validation类,它继承自IValidation接口,它有我想在propertyGrid中显示的事件,另一个类是一个ControlValidator,它派生自一个组件并且有一个列表验证
更具体地说,我想要完成的是在这个CollectionEditor中使用CollectionEditor(用于编辑DataGridView的列的相同窗口)我想让它在PropertyGrid中显示EventsTab(实际上我想要制作它)它与VisualStudio IDE的PropertyTab完全相同,但我不在那部分但是,所以我想要显示的事件和属性是ControlValidator(组件)的List/Collection
让我试着说清楚一点
正如您所看到的,Control Validator有一个IValidation接口的集合,它是组件所以它应该并且正在这样工作
你可以看到它没有在IDE中显示事件选项卡,因为它没有任何事件,但如果你双击controlValidator的Validations属性,它会打开CollectionEditor,其中有一个PropertyGrid
作为一个PropertyGrid,我试图让它显示eventsTab(我无法以我在其中列出的任何方式显示它)
我在一个目录中有一堆文件,我试图根据它们的类型来获取它们。一旦我拥有它们,我想按文件名对它们进行排序(其中有一个数字,我想以这种方式对它们进行排序)
我返回的文件是:
file-1.txt
file-2.txt
...
file-10.txt
file-11.txt
...
file-20.txt
Run Code Online (Sandbox Code Playgroud)
但我得到它们的顺序看起来更接近于这个:
file-1.txt
file-10.txt
file-11.txt
...
file-2.txt
file-20.txt
Run Code Online (Sandbox Code Playgroud)
现在我正在使用Directory.GetFiles()并尝试使用该linq OrderBy房产。但是,我在排序文件列表(如上面的第一个列表)时需要执行的操作非常失败。
Directory.GetFiles()似乎正在返回字符串列表,因此我无法获取文件属性列表,例如filename或name。
这是我目前的代码:
documentPages = Directory.GetFiles(documentPath, "*.txt").OrderBy(Function(p) p).ToList()
Run Code Online (Sandbox Code Playgroud)
有人有什么想法吗?