【问题标题】:Adding a wizard to a blank project: "The operation could not be completed. No such interface supported"向空白项目添加向导:“无法完成操作。不支持此类接口”
【发布时间】:2013-07-18 13:07:47
【问题描述】:

我创建了一个自定义向导,该向导通过列出用户的一些 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;
    }

【问题讨论】:

    标签: c# visual-studio-2012 wizard


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-12-26
      • 1970-01-01
      • 2020-04-10
      • 2021-11-13
      • 2015-12-27
      • 1970-01-01
      • 2018-09-16
      • 2016-04-30
      • 1970-01-01
      相关资源
      最近更新 更多