无法在c#中的同一项目的另一个类文件中创建表单实例

时间:2016-10-13 07:02:36

标签: c# winforms c#-4.0

我在现有的类库项目中创建了一个新表单。表单使用相同的名称空间。我有一个现有的类文件。我无法创建新表单的实例。

Form1 frm=new Form1();

上面的代码在现有的类中不起作用,但是如果我添加一个新的类,那么它工作正常。

我需要访问现有类中的表单。请帮我看一下这个表格。

先谢谢

3 个答案:

答案 0 :(得分:0)

正如@ reza-aghaei已经指出的那样,你的错误可能是你忘了在你的陈述中添加()到最后:

Form1 frm=new Form1();

答案 1 :(得分:0)

通常,Visual Studio足够聪明,可以提出可能错误的内容 - 也许是ReSharper,它告诉我们项目或其他项目的不同部分中类型的可见性不匹配 - 就像你的情况一样,表单在类库中。

只需检查您的表单不是类库的内部。你会在Form1类定义上看到它。如果是内部或私人公开。

如果由于某种原因你无法公开它至少使得使用InternalsVisibleToAttribute类对消费组件可见:https://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute(v=vs.110).aspx

答案 2 :(得分:0)

谢谢你们。

我已经将类库中的引用再次添加为

$(".button").click(function () {
            var index=$(this).closest('tr').index();
            var records = tasks[index];               
        });

这个潜在的修复程序由VS2015智能感知显示。

这是代码的奇怪行为,因为代码在新类中工作正常而不添加任何引用。但是在现有的类中它仅在添加引用后才起作用。

谢谢大家。