0

我创建了一个自定义向导,该向导通过列出用户的一些 SQL 查询的代码生成一个 Windows 窗体。对于表单和向导本身的几乎所有测试,将其添加到空白项目会调出表单,我可以测试按钮单击事件和其他一般表单内容。最近我充实了列表框的事件监听器,从那以后我得到了这个错误:

在此处输入图像描述

谷歌搜索让我找到了很多关于 Ruby 的帖子,但我没有使用这些帖子。其他建议是重新启动并重新安装,但这些都被证明是不成功的。我试图注释掉列表框事件,但这并没有阻止错误的发生,但是,如果它有帮助,这里是有问题的事件:

//-----------Event fired when a listbox object is double-clicked; populate the listbox with the new databases---------
    public void dataList_MouseDoubleClick(object sender, EventArgs e)
    {
        //temp string used to hold the name of the clicked object
        string selectedNAME = dataList.SelectedItem.ToString();

        firstSEL.TableVar = selectedNAME;

        foreach (tempDataVar t in dataVars)
        {
            if (t.TableVar == firstSEL.TableVar)
            {
                firstSEL = t;
            }
        }

        string newQ = "SELECT COLUMN_NAME,* FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + firstSEL.TableVar + "' AND TABLE_SCHEMA= '" + firstSEL.SchemaVar + "'";//order by TABLE_NAME'";

        results = GetDataSet(bldr.ToString(), newQ);

        //listBox1.Items.Clear();

        foreach (DataRow row in results.Tables[0].Rows)
        {
            //foreach (object x in row.ItemArray)
            //{
            //  listBox1.Items.Add(x.ToString());
            //}

            for (int x = 0; x < row.ItemArray.Length; x++)
            {
                if (x == 0)
                {
                    colList.Items.Add(row.ItemArray[x]);
                }
            }
        }

        dataList.Enabled = false;
    }
    //-----------------------------Event that fires when the index of the second listbox changes--------------------------
    private void colList_SelectedIndexChanged(object sender, EventArgs e)
    {
        btnYes.Enabled = true;
    }
4

1 回答 1

0

由同事修复的 Noobie 错误!我从“如何制作向导教程”中盲目复制并粘贴了以下代码:

[ComVisible(true)]
[Guid("20184B81-7C38-4E02-A1E3-8D564EEC2D25"),
ProgId("MyNewWizard.Class1")]

此代码需要直接位于 MyNewWizard 类上方,我不小心将自定义 TempDataVar 类粘贴在这些行之间的空白处和 MyNewWizard 类的开头。如果您收到类似的错误,那么我建议您围绕一些属性/类的顺序进行测试!

于 2013-07-18T15:49:54.647 回答