小编Chr*_*sAU的帖子

Form.Load事件未触发,表单显示

我担心我的代码有明显的错误,但我遇到的情况Form.Load是,当我创建并显示我的表单时,事件不会触发.

表单不是子类(因为我在一些搜索中看到了一些问题),并且当我逐步调试调试器中的代码时,我没有收到任何错误.

我在IDE创建的表单加载函数(具有Handles MyBase.Load签名后缀)上设置了断点,但是从未到达断点并且表单显示并正常工作.

表单在构造IntializeComponent()函数中传递三个参数,但在完成任何其他操作之前调用该函数.

码:

Public Sub New(ByVal argA As Object, ByVal argB As Object, ByVal mode As FormMode)

    ' This call is required by the Windows Form Designer.
    InitializeComponent()

    ' Other code here,
    ' No errors generated
    '

End Sub
Run Code Online (Sandbox Code Playgroud)

表单加载函数如下所示(但实际上从未执行过,因为事件未被触发).

码:

Private Sub frmInstrumentEditor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If Not argA Is Nothing Then ' argA set in constructor
          ' Operations using argA
    End If
End …
Run Code Online (Sandbox Code Playgroud)

vb.net events event-handling winforms

16
推荐指数
2
解决办法
4万
查看次数

为什么排序列表必须具有键值对?

如果我只想要一个只有日期,整数或双精度的排序列表,是否真的有必要定义一个SortedList(Integer,Integer)?

似乎很吸引我,但可能只是琐事.我更喜欢使用SortedList(Integer).

(这个问题与.Net通用集合有关)

.net generics collections

14
推荐指数
1
解决办法
1551
查看次数

为什么BindingList(Of T)没有AddRange成员?

我认为这个标题几乎抓住了我的问题,但有一点背景如下:

当我有一个表单加载时,它会向绑定列表添加几千(30k个奇数)对象.当我的应用程序第一次加载它需要几秒钟(大约10秒左右的内存)时,它循环遍历对象列表并使用add函数将其添加到BindingSource.但是,当在后续表单上发生这种情况时,使用相同的代码加载它只需要一两秒钟.

所以我的查询是:
1.为什么BindingList(Of T)没有AddRange成员?
2.使用AddRange函数,初始和后续添加是否会更快?
3.为什么一个版本的代码运行速度慢于相同版本的任何想法?

感谢您提供的任何帮助.

vb.net data-binding bindinglist

7
推荐指数
1
解决办法
6102
查看次数

获取城市中所有交叉路口的列表

获取主要城市所有交叉路口列表的最佳来源和方式是什么?

maps google-maps openstreetmap google-places-api google-places

7
推荐指数
2
解决办法
4649
查看次数

如何停止显示多个对话框?

我有一个非常讨厌的问题,我试图找到最简单的解决方案,但我似乎一直在使它变得复杂.

我的程序使用ShowDialog函数显示一个自定义对话框(我使用New构造函数创建此表单),但是当我的程序在对话框中等待输入时,我的程序继续运行其他代码,(我假设从其他消息启动) ,但我仍然无法找到关于此的好信息,所以除了这个主题之外,任何人都有关于此的参考),并且到达同一点,在该点显示对话框并显示它.所以我最终得到了大量的对话框.

我的目标是防止过多的对话框.如果程序到达此对话框启动点,我希望它等待/暂停,直到第一个对话框完成.

我考虑过线程解决方案,后台工作者,各种想法,但它们似乎使事情变得复杂,我实际上并没有修复它.

有谁知道如何防止这种情况发生?

非常感谢您的帮助.谢谢

.net vb.net winforms

5
推荐指数
1
解决办法
3699
查看次数

Form.ShowDialog()不显示表单

我遇到过一种情况,我尝试在方法中运行一行简单的代码

Dim res As DialogResult = frmOptions.ShowDialog()

但没有任何反应.该对话框不会出现.如果我从代码中的另一个位置运行此方法它执行正常(即在对话框模式下显示表单,此后代码执行正常).因此,它可能是我到达导致我的问题的代码的方式,但我看不出发现什么是错的.

当我暂停调试器时,代码行以绿色突出显示,但我无法看到它跳过它或进入它.

任何想法可能会导致这种情况发生,或者我应该寻找什么可能导致问题?

谢谢您的帮助!

vb.net winforms

2
推荐指数
1
解决办法
7198
查看次数

为什么压缩然后是不同长度的未压缩流

我正在使用SevenZipSharp库来压缩然后解压缩包含简单序列化对象的MemoryStream.但是,压缩和解压缩的流具有不同的长度.

从下面的代码运行我得到

输入长度:174输出长度:338

(包含SevenZipSharp dll作为参考,7z.dll包含在项目输出中)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

namespace DataTransmission {
class Program {
    static void Main(string[] args)
    {

        SevenZip.SevenZipCompressor compressor = new SevenZip.SevenZipCompressor();
        //compressor.CompressionMethod = SevenZip.CompressionMethod.Lzma2;
        //compressor.CompressionLevel = SevenZip.CompressionLevel.Normal;

        MemoryStream inputStream = new MemoryStream();

        Person me = new Person("John", "Smith");
        BinaryFormatter formatter = new BinaryFormatter();
        formatter.Serialize(inputStream, me);

        Int32 inputStreamLength = (Int32)inputStream.Length;

        MemoryStream outputStream = new MemoryStream();

        compressor.CompressStream(inputStream, outputStream);
        SevenZip.SevenZipExtractor decompressor = new SevenZip.SevenZipExtractor(outputStream);
        decompressor.ExtractFile(0, outputStream);
        Int32 outputStreamLength = (Int32)outputStream.Length;


        Console.WriteLine("Input …
Run Code Online (Sandbox Code Playgroud)

.net c# compression 7zip sevenzipsharp

2
推荐指数
1
解决办法
1214
查看次数