在Form1.cs裡使用

Star_100 2010-05-11 09:53:56
新建一個form
    
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

}


我想把自己寫的一部分分開

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

}

partial class Form1
{
private void test()
{ }
}



問題出現了。運行程式沒問題,但開啟Form1.cs畫面時,就顯示不出來了。

請問:
1.這是VS的Bug嗎?
2.有沒有解決方法(改某些設置或者在文件裡加上某些說明)?
3.能不能像增加一個 類似於:Form1.Designer.cs一樣?



謝謝大家

...全文
140 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Star_100 2010-05-11
  • 打赏
  • 举报
回复
to:
yuwenge
(活得痛快)

公司裡的系統是繁體的。

a82344626 2010-05-11
  • 打赏
  • 举报
回复
Fom1.Designer.cs
看下这个有没有那里出问题了!
再就看下
Resources.Designer.cs和Resources.resx 是不是少了引入的文件什么的!
卧_槽 2010-05-11
  • 打赏
  • 举报
回复
楼主是台湾淫?
zzx509 2010-05-11
  • 打赏
  • 举报
回复
是设计界面的问题?
VS的设计器好像不能支持这种多分布的Form。
Star_100 2010-05-11
  • 打赏
  • 举报
回复
to :zzx509
我只copy了 Form1.cs裡的代碼,沒有copy Form1.Designer.cs裡的。
整個工程,我是用vs2008創建的。
只加了一點點
partial class Form1
{
private void test()
{ }
}

to:computerfox
我不是手工創建的,是用vs2008建的。
form1.designer.cs
form1.resx都有

to:a82344626
不寫繼承沒有關系,只要有其中有一個寫了,其他部分就都有了。可參見:Fom1.Designer.cs裡自動產生的代碼,也是這樣寫的:
partial class Form1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
....
}

另:
public partial class Form1 : Form
{
private void test()
{ }
}
也是會出錯的。

to:All
我說的出錯:是指雙擊 Form1.cs,開啟設計版面。
運行是不會出錯的。

a82344626 2010-05-11
  • 打赏
  • 举报
回复
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

}


partial class Form1
{
private void test()
{ }
}
这个类继承了Form控件你分开后写没有继承

partial class Form1
{
private void test()
{ }
}
改成这样就行了
public partial class Form1 : Form
{
private void test()
{ }
}
捷哥1999 2010-05-11
  • 打赏
  • 举报
回复
你的代码是手工去创建两个cs,这样打开form 设计器的时候肯定会出错的,因为如果是vs创建的form,还有一个Form1.resx资源文件!
zzx509 2010-05-11
  • 打赏
  • 举报
回复
但看这个代码没问题。
你的全部代码就是这些吗?
Star_100 2010-05-11
  • 打赏
  • 举报
回复
自已頂一頂,大家看一看
Star_100 2010-05-11
  • 打赏
  • 举报
回复
我找到了一個方法,解決了一半。

1.用VS新建一個解決方案.
得到:

Form1.cs --Form1.Designer.cs
|------form1.resx

2.手動創建一個文本文件。名字改成:Form1_Other.cs
內容:
namespace WindowsFormsApplication1
{

partial class Form1 {
private void test()
{ }
}


}

3.用notepad.exe打開:WindowsFormsApplication1.csproj
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Form1_Other.cs" <SubType>Designer</SubType>>
<DependentUpon>Form1.cs</DependentUpon>

</Compile>

紅色字的內容是手工添加的。

4.再用vs2008開啟WindowsFormsApplication1
就成了:
Form1.cs --Form1.Designer.cs
|------form1.resx
|------Form1_Other.cs

現在的問題:
雙擊Form1.Designer.cs,直接進入代碼修改。
雙擊Form1_Other.cs,卻和雙擊 Form1.cs的效果一樣。這裡有問題

大家試試看。有沒有好的方法



110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧