none
重新安装vb.net2005,点击我编写的程序菜单,会延时500ms左右,且出现等待状态2s RRS feed

  • 问题

  •     
       
        重新安装vb.net2005,点击我编写的程序菜单,会延时500ms左右,且出现等待状态2s。没重装之前都没问题,重装以后就这样。代码如下:




    private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click, ToolStripMenuItem2.Click, ToolStripMenuItem3.Click, ToolStripMenuItem4.Click, LoadFileToolStripMenuItem.Click, SaveFileToolStripMenuItem.Click, AdminToolStripMenuItem.Click Dim BarPrint As String = "" Dim BarScaner As String = "" Dim Frm As Form = New SearchData Dim BarCodePrint As Boolean = PrintSet.Checked Dim BarScan As Boolean = BarcodeOpen.Checked Dim Board As String = BoardSet.Text Dim BatCount As String = TextBox2.Text Dim BoardWeith As String = TextBox1.Text Dim BoardGap As String = TextBox8.Text Dim BatWeith As String = TextBox3.Text Dim BatGap As String = TextBox4.Text Dim BoxWeith As String = TextBox5.Text Dim BoxGap As String = TextBox6.Text Dim LenBarCode As String = TextBox7.Text Dim CBarCode As String = BarCodeCprs.Text Dim FileName As String If Dir("D:\BatWeith", FileAttribute.Directory) = "" Then MkDir("D:\BatWeith") End If Select Case sender.ToString Case "Save Test File" FileName = "D:\BatWeith\" & BatType.Text & ".B" WriteSelect("BatteryDat", "", FileName) WriteINI("BatteryDat", "BatCount", BatCount, FileName) WriteINI("BatteryDat", "BoardWeith", BoardWeith, FileName) WriteINI("BatteryDat", "BoardGap", BoardGap, FileName) WriteINI("BatteryDat", "BatWeith", BatWeith, FileName) WriteINI("BatteryDat", "BatGap", BatGap, FileName) WriteINI("BatteryDat", "BoxWeith", BoxWeith, FileName) WriteINI("BatteryDat", "BoxGap", BoxGap, FileName) WriteINI("BatteryDat", "LenBarCode", LenBarCode, FileName) WriteINI("BatteryDat", "CBarCode", CBarCode, FileName) WriteINI("BatteryDat", "BarCodePrint", PrintSet.Checked.ToString, FileName) WriteINI("BatteryDat", "BarScan", BarcodeOpen.Checked.ToString, FileName) WriteINI("BatteryDat", "Board", Board, FileName) MessageBox.Show("…………保存测试文件成功…………", "保存文件", MessageBoxButtons.OK) Case "Load Test File" If PrintSet.Enabled = False Then MessageBox.Show("参数已经锁定,请勿加载参数", "警告", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Select End If OpenDialog.InitialDirectory = "d:\BatWeith\" OpenDialog.FileName = "" OpenDialog.Filter = "测试文件|*.b" OpenDialog.Title = "打开测试文件" OpenDialog.ShowDialog() FileName = OpenDialog.FileName If FileName = "" Then MessageBox.Show("…………请打开测试文件…………", "打开测试文件", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Select End If TextBox2.Text = ReadINI("BatteryDat", "BatCount", FileName) TextBox1.Text = ReadINI("BatteryDat", "BoardWeith", FileName) TextBox8.Text = ReadINI("BatteryDat", "BoardGap", FileName) TextBox3.Text = ReadINI("BatteryDat", "BatWeith", FileName) TextBox4.Text = ReadINI("BatteryDat", "BatGap", FileName) TextBox5.Text = ReadINI("BatteryDat", "BoxWeith", FileName) TextBox6.Text = ReadINI("BatteryDat", "BoxGap", FileName) TextBox7.Text = ReadINI("BatteryDat", "LenBarCode", FileName) BarCodeCprs.Text = ReadINI("BatteryDat", "CBarCode", FileName) BarPrint = ReadINI("BatteryDat", "BarCodePrint", FileName) BarScaner = ReadINI("BatteryDat", "BarScan", FileName) BoardSet.Text = ReadINI("BatteryDat", "Board", FileName) If BarPrint = "False" Then PrintSet.Checked = False ElseIf BarPrint = "True" Then PrintSet.Checked = True End If If BarScaner = "False" Then BarcodeOpen.Checked = False ElseIf BarScan = True Then BarcodeOpen.Checked = True End If BatType.Text = Strings.Left(System.IO.Path.GetFileName(FileName), Len(System.IO.Path.GetFileName(FileName)) - 2) Case " Search BarCode " Frm.Show() Case " About SoftWare " AboutBox.Show() Case " Exit " System.Environment.Exit(0) End Case " Admin " Dim PassF As New PassWord PassF.Show() End Select

    纷纷扰扰与我无关
    2009年7月9日 16:01

答案

  • 终于搞定了,因为在每次点击菜单都会 Dim Frm As Form = New SearchData

    SearchData 启动的时候东西加载太多。所以我调到            Case " Search BarCode "  ,这里,就不会有这个问题了

                    Frm.Show()
    唉,想想真是郁闷


    纷纷扰扰与我无关
    2009年7月14日 3:30

全部回复

  • 代码看不出问题, 别的机器运行怎么样
    http://feiyun0112.cnblogs.com/
    2009年7月10日 1:46
    版主
  • 我之前备份的都没问题。可现在这个就有问题,我把备份的这段代码copy到我现在的这个程序里面。一样有延迟,我不知道是不是我重装系统的关系,或是还需要设置什么东西。这次的visual basic 我装在D盘


    纷纷扰扰与我无关
    2009年7月10日 4:34
  • 你好!
         你把程序拷到其他的机器上运行看看,是否还有这个问题
    周雪峰
    2009年7月10日 5:48
    版主
  • 我机子上有延迟的,别人机子上也会延迟。
    我新建了一个程序。添加菜单,点击还是有延迟


    纷纷扰扰与我无关
    2009年7月10日 6:58
  • 你好!
        我感觉是系统的原因啊!请问你的是原版的系统吗?
    周雪峰
    2009年7月10日 7:09
    版主
  • 版主,您好!系统是原版的


    纷纷扰扰与我无关
    2009年7月13日 0:27
  • 你好!
         我还是头一次遇到这个问题,你尝试更新一下sp2补丁试试!
    周雪峰
    2009年7月13日 0:59
    版主
  • WriteINI和ReadINI是读写文件的函数吧,我觉得重复打开/关闭/写入/读取文件很多次是很耗时间的……
    It's never too late to learn
    2009年7月13日 2:51
  • WriteINI和ReadINI 是在按了某些菜单后才会动作的。最后我用排除法试了一下,发现我新加了一个窗体后导致的。但我前面的动作都不影响后面的窗体啊,而且此时窗体也没打开,郁闷
    纷纷扰扰与我无关
    2009年7月14日 3:22
  • 终于搞定了,因为在每次点击菜单都会 Dim Frm As Form = New SearchData

    SearchData 启动的时候东西加载太多。所以我调到            Case " Search BarCode "  ,这里,就不会有这个问题了

                    Frm.Show()
    唉,想想真是郁闷


    纷纷扰扰与我无关
    2009年7月14日 3:30
  • 你上面不是说新建立的程序也有这个问题吗?
    周雪峰
    2009年7月14日 5:05
    版主
  • 嗯,没错,因为我visual basic 放在D盘,然后我重新安装到C盘,新建的程序的菜单栏就不会这样了。


    纷纷扰扰与我无关
    2009年7月14日 6:50