回答 将主要形式拆分为较小的文件

加入
2月20日,2021年
消息
6
编程经验
1-3
大家好,

希望这个问题不是愚蠢的所以我们去.....
使用C#窗口表单主福彩12选5走势图从

公共部分类Form1:表格

我一直将主福彩12选5走势图文件分成单独的文件,这些文件仍将其编译为一个

公共部分类Form1

它有效,但似乎没有比其设置的任何其他视觉工作室,项目文件可以损坏。
我认为这是图形等其他问题的原因。从未奏效的atevalate。 Windows大小调整正在运行的程序不会改为它设置为的值。 INT16(短)转换/使用导致福彩12选5走势图没有错误。 Pictupbox福彩12选5走势图无法正常工作(无编译错误),直到它被移动到另一个位置,它的原始位置没有任何错误,现在是图形福彩12选5走势图做同样的事情。

我谷化了这个问题,它没有结束如何拆分类,它不清楚如何拆分主表单。

使用公共部分类Form1拆分福彩12选5走势图的错误是多么错误,以及正确的方式。

提前致谢
 
Solution
您可以在文档继承和实现的接口中看到合并后,您无需在每个文件中重复此信息,您可以在这些文件中传播它(例如,请参阅文章)。

不要尝试设计除默认文件之外的部分文件,或者设计师将尝试添加Designer福彩12选5走势图两次,这将无法正常工作。如果例如,尝试将控件添加到额外的部分类,则设计者添加了InitialIzeComponent等冲突。
将添加的部分文件的文件名更改为form1.yournameHere.cs

这会停止附加到每个添加的部分文件的设计窗口的问题。
微软在那里智慧制作了所有添加的部分主福彩12选5走势图......

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,774
地点
切萨皮克,va.
编程经验
10+
除了有关Visual Studio Winforms设计师的问题外,具有将表单福彩12选5走势图分成多个文件的问题,您的所有其他问题都与拆分文件无关。考虑默认的Visual Studio已使用部分类来将福彩12选5走势图从Designer.designer.cs文件中的Designer生成的福彩12选5走势图分隔您的福彩12选5走势图。人们已成功使用该文件配置多年来的Winforms。我怀疑那些其他问题是由于你的福彩12选5走势图中的错误,或者没有完全了解一些事情的工作。

就个人而言,我不使用WinForms Designer,因此我在没有生病的情况下使用部分类并不重要。另一方面,我很少必须将我的表单类拆分为多个文件,因为我将MVC或MVP模式应用于我的福彩12选5走势图。因此,我的表单福彩12选5走势图(aka视图)往往只是致电模型和/或控制器或演示者的薄层。

为什么不向我们展示您遇到问题的一些福彩12选5走势图,我们可以尝试让您排除。
 

呵s

众所周知的成员
加入
2018年9月5日
消息
1,982
编程经验
10+
实际上是否有一种逻辑理由? ðÿ¤“

如果有,你想要什么时候?

我在这里一直在于设计师福彩12选5走势图。我,你现在已经在同一个页面上了多年。
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,774
地点
切萨皮克,va.
编程经验
10+
是的,有一些逻辑的理由要这样做,但通常是当您从地上创建新的控制时,而不是在您编写表格时 - 除非表单不遵循单一责任原则。

无论如何,请查看DataGridView控件的源福彩12选5走势图 参考来源 要查看已分成多个文件的控件。正如我回忆,每个文件都遵循了SRP,但由于WinForms的约束,所有这些都必须在单个类中居住。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,681
地点
悉尼,澳大利亚
编程经验
10+
WinForms Designer将期望两个部分类文件。 Form1.cs. 是它将创建生成的事件处理程序 特性 窗口和 form1.designer.cs. is where it will declare, create and configure controls and components you add in the designer. As long as those two files are present with a partial Form1 declaration in them, the designer is happy. Other than that, you can add as many other code files with partial Form1 declarations in them as you like and they will all function as a single class. I've tested this and it seems to work without issue, but I obviously haven't tested every possible combination.

正如您应该始终如一的那样,您需要向我们展示福彩12选5走势图。您应该提供我们理解和重现问题所需的最低金额。如果我们看到福彩12选5走势图,那么我们可以看到你可能做错了什么,如果你没有,请看一下我们是否使用相同的福彩12选5走势图获得相同的异常行为。
 

呵s

众所周知的成员
加入
2018年9月5日
消息
1,982
编程经验
10+
一切都意味着在这里单身。

But there are very very very few valid reasons for doing something like that. 老实说,我预计从这里的高级Devs更怀疑。

而且我忍不住觉得这样做是非常不合适的???
 

呵s

众所周知的成员
加入
2018年9月5日
消息
1,982
编程经验
10+
对于ASP.NET或其他东西,是的,我可以看到部分观点的观点和分离视图,但我没有看到涉及Winforms的需要。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,681
地点
悉尼,澳大利亚
编程经验
10+
一切都意味着在这里单身。

But there are very very very few valid reasons for doing something like that. 老实说,我预计从这里的高级Devs更怀疑。

而且我忍不住觉得这样做是非常不合适的???
就个人而言,几乎我使用部分类的唯一时间是当我想要一个要自动生成的福彩12选5走势图以及要编辑的福彩12选5走势图的一部分时,就像在表单中的设计者福彩12选5走势图和用户福彩12选5走势图之间的拆分一样。例如,我刚刚在Work .NET 5.0和EF福彩12选5走势图上更新我们的Codegen工具。我们使用此工具生成各种文件,其中每个实体都有一个,包括DTO和服务。服务定义始终处于部分类中,因为我们具有在一个部分类中自动生成的标准方法集,我们可以在第二个部分类中添加特定实体的方法。

If you have a class that contains a lot of code then regions should probably be the first option for grouping code relating to a specific area of functionality but partial classes might be a good option if the volume of code is very large. The DataGridView example from before is one such but I would suggest that most classes, be they forms or otherwise, that contain enough code to make partial classes a good option are probably poorly designed and out to be split into multiple distinct classes anyway.

也就是说,我们无法立即学习一切,并通过当前问题来提出条款可能有助于OP学习别的东西,因为他们认为部分课程导致他们绝对不应该的其他问题。
 
加入
2月20日,2021年
消息
6
编程经验
1-3
我期待这是或多或少直接哈哈。
是的,我认为的是与C ++中的不同文件的相同,这使得编辑和组织福彩12选5走势图更容易,它停止一个文件大小变得越来越大。我怀疑你知道如何很容易。

我发现微控制器汇编程序简单直截了当,我正在学习C#,通过避免很多正确的术语和我不认为我需要知道的东西......试图保持简单,这表明吗?哈哈。 C#是一种有趣的乐趣,如填字游戏,如果我需要写入软件以接口电子项目。

唯一的举例榜样是上传整个项目文件,该文件几乎肯定不会加载到任何其他编辑器(使用VS2019)因为文件已经分开的方式,但我们将看到。我上传前的任何想法/建议?

"Sheeping" "老实说,我预计从这里的高级Devs更怀疑。",我试图通过将大文件拆分成较小的文件来使福彩12选5走势图更容易阅读和编辑,与您可以在C ++中相同,您认为我想做什么???
 

呵s

众所周知的成员
加入
2018年9月5日
消息
1,982
编程经验
10+
我知道你想要做什么。我只是看不到你的方式如何实现逻辑,特别是在Winforms中。

而C ++也不是C#。

正如我经常看到过去所见,跳伞运动员告诉人们在搬到C#中做事时,他们以C ++的方式抛弃了他们所知道的。
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,774
地点
切萨皮克,va.
编程经验
10+
我怀疑@Sheeping的期望是基于大多数高级开发者不会让一个级别的成长很大,如果需要分成多个文件来帮助人类组织课程的内容更好。

当我对对等方的福彩12选5走势图评论时,如果文件大小超过600行,那么我的福彩12选5走势图闻到我可能不会遵循SRP,也许文件中的类可能不会遵循SRP,因此应该被分解为使用单独的辅助课程然后可以独立测试。

是的,在C ++中实现面向对象的编程比在C#中实现对象的编程,因为不同的惯用用途以及对每种语言的不同期望。
 

呵s

众所周知的成员
加入
2018年9月5日
消息
1,982
编程经验
10+
我不能宣讲应该保留的规则/原则和法律,然后离开并自己打破他们。这对我来说只是愚蠢和虚伪。

前一天,我拿到整个申请,因为辅助级别超过了800行。跳伞程序再次对SRP发表良好的观点,以及如何在编写应用程序时应用它。关于您的初始问题,我不会在最后一行中看出比帖子9更进一步。

坦率地说,如果您正在向一个文件编写一个文件,要求一个类必须具有大量函数,方法或者是非常长的并且精心详细的任务/操作,那么您可能没有编写有效福彩12选5走势图。福彩12选5走势图应该有一个单一的目的来完成。
 
加入
2月20日,2021年
消息
6
编程经验
1-3
大家好,我想用不同的方法重新开始,因为我觉得这有一个简单的答案,当然,我可能是错误的。

我们有一个简化的福彩12选5走势图示例,它只是为了展示我想要的东西。

C#:
using System;



namespace game

{

    公共部分类Form1:表格
    {
    //All your normal code when you double click on the design window in c# dotnet framework
    }

// Here we will put in some code, a function called PicBox, for example only.

       public void PicBox()
        {
            PictureBox[] picture = new PictureBox[(picRow * picCol)];
            int i;
            for (i = 0; i < picCol * picRow; i++)//(picRow * picCol); i++)
            {
                picture = new PictureBox();
                picture.BackColor = Color.Black;
                this.Controls.Add(picture);
                picture.Click += this.pb1_MouseClick;
                picture.SizeMode = PictureBoxSizeMode.StretchImage;
                picture.Visible = true;
            }
            picbox = picture;
    }

我想将函数picbox放入一个单独的文件中,在Visual Studio中一个单独的窗口,只需要点击,只有我想编辑函数picbox,这是为了帮助减少杂乱,并为我制作福彩12选5走势图的福彩12选5走势图,基本上是这让我开心。

要为某些类型的福彩12选5走势图选择VS中的新类文件,但要访问Windows函数有时可以更加工作,而不是值得的,我想我是正确的说法。

我想我需要扩展一个新项目中给出的第一行福彩12选5走势图,这是:
公共部分类Form1:表格

我在这里缺少一些基本的理解。

如果有任何清楚请问,我相信这有一个简单的答案。

提前致谢
 
最后编辑了主持人:
加入
2月20日,2021年
消息
6
编程经验
1-3
拆分C#主福彩12选5走势图文件是简单的看起来

公共部分类Form1
{
}

我在第一篇文章中写道的福彩12选5走势图似乎没有错误,因此项目文件损坏问题和运行错误我是由其他东西引起的。

项目文件创建一个设计窗口,对于当前使用中的一个VS以外的每个部分文件的表格1,您不必运行它。如果其中一个Windows /部分文件已关闭"working"项目在解决方案资源管理器中再次打开它,带来一个设计窗口与部分文件。使用每个部分文件创建的新设计窗口/ form1与项目原稿冲突。可能是什么原因?

在网上发现的一些信息,可以帮助他人:

公共部分类Form1:通过使用部分的表单可以在同一命名空间中的两个不同源文件中编写相同类的定义。它在编译期间将被视为相同。您可以在项目中找到一个具有相同名称1的类它自动创建。

Form1是表单的名称和:用于继承基类的属性。这里表单代表system.windows.forms.form。我们正在继承以访问基类的属性和方法。
 
Last edited:

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,774
地点
切萨皮克,va.
编程经验
10+
How and when is the PicBox() method invoked by the Form1 class? It shouldn't matter if PicBox() lives in Form1.cs or in PicBox.Form1.cs. If it works while it lives in Form1.cs, it should continue to work in PicBox.Form1.cs. If it doesn't even work in Form1.cs, then it doesn't matter if it got moved to PicBox.Form1.cs.
 
加入
2月20日,2021年
消息
6
编程经验
1-3
How and when is the PicBox() method invoked by the Form1 class? It shouldn't matter if PicBox() lives in Form1.cs or in PicBox.Form1.cs. If it works while it lives in Form1.cs, it should continue to work in PicBox.Form1.cs. If it doesn't even work in Form1.cs, then it doesn't matter if it got moved to PicBox.Form1.cs.
跳伞者福彩12选5走势图不称为它在文本中清楚地描述了福彩12选5走势图显示你哈哈的福彩12选5走势图,它说不是实际的工作福彩12选5走势图,它向您展示了我要求的,而不是展示工作计划一切清楚地写入帖子,雅得笑吧?我可以做到它的工作,没有必要我说它演示了我如何将福彩12选5走势图移动到一个单独的文件,以便以最简单的方式制作福彩12选5走势图中的福彩12选5走势图eect(已描述)。我可以继续前进并通过你的余下的评论,但他们被读到的帖子,我的最后一篇文章显示我已经回答了我自己的问题,无论如何,哈哈让它更加毫无意义,我很无聊,所以这个论坛确实提供了一点娱乐。无论如何,欢呼声,任何想法如何与我的上一篇文章中所述的vs?
 

呵s

众所周知的成员
加入
2018年9月5日
消息
1,982
编程经验
10+
编译器不关心项目中的文件,如果在项目配置中包含,则将编译它们,提供您的福彩12选5走势图匹配它的写入。
无论如何,你为什么试图在C#应用程序中调整你的C ++习惯?
 
加入
2月20日,2021年
消息
6
编程经验
1-3
编译器不关心项目中的文件,如果在项目配置中包含,则将编译它们,提供您的福彩12选5走势图匹配它的写入。
无论如何,你为什么试图在C#应用程序中调整你的C ++习惯?
绵羊微软已经将部分文件功能放入C#,他们已经为主要表单福彩12选5走势图提供了此类福彩12选5走势图,我想使用微软已经放入的此功能,因为它为我制作了福彩12选5走势图教室,我喜欢它,很容易使用当你知道如何。我不喜欢C ++,在我看来,它是一个复杂的混乱,这就是我使用C#的原因,它远非完美,而是更好的选择。我并不试图将任何C ++习惯带到C#。也许你不喜欢(讨厌?)部分文件功能?你不得不使用它,你知道,只是在这个主题上的答案线程....离开它伴侣。没有必要回答我说的任何东西......只是离开它伴侣。

无论如何在那里,

我问如何分开c#主福彩12选5走势图文件,嗯,通过查找正确的关键字并使用谷歌真相了。

您将主福彩12选5走势图拆分:

公共部分类Form1

现在这里是你需要知道的另一个赌注:

将添加的部分文件的文件名更改为form1.yournameHere.cs

这会停止附加到每个添加的部分文件的设计窗口的问题。
Microsoft在有智慧中取得了所有添加的部分主福彩12选5走势图文件,没有通常的编辑器支持,所有文本都依靠白色,所以它只是存储了完成的福彩12选5走势图并编译,如果发现它需要一个编辑,只需切割并粘贴您需要的任何东西,所以没有大问题。

现在,如果仍然存在,现在会离开运行错误。在这里发布任何东西会不会有一点,这是浪费时间,我现在期望没有有用的答案,因为这就是我所收到的。

这个线程没有更多的帖子谢谢。
 
Last edited:
最佳 底部