写了一个C#winform程序,在我的电脑上运行没有问题,但是在别人的电脑运行一次就自动关闭了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了写了一个C#winform程序,在我的电脑上运行没有问题,但是在别人的电脑运行一次就自动关闭了相关的知识,希望对你有一定的参考价值。

目测是缺少相关组件,
你是否使用了第三方的dll或者其他第三方组件呢,如果有点话,一并放到bin目录下,这样就可以了

还是不行,建议把exe发我一份,测试一下 多谢追问

第三方的dll已经放过去了,关键是在我的电脑就可以运行,在别人的就不行,exe发不了,因为是自动测试仪器把数据存在数据库里的,发给你你也运行不了

追答

嗯,提供一下错我信息,崩溃的错误信息

参考技术A 这种问题 肯定是运行环境不一致或者使用管理员来运行exe。

建议 在程序中 加入日志,记录异常信息。或者查看Windows日志信息分析错误原因。追问

怎么加入日志

参考技术B 有可能是对方电脑没有装对应的 .NET framework追问

有的

WINFORM 开发模式

软件分为3类   客户端  网站应用  app

WINFORM  主要用来只做客户端应用程序、C/S

客户端程序很重要的特点:可以操作用户电脑上的文件,执行在客户端上,电脑的配置越高执行就越流畅。

在program类里面有这个代码

这一个 RUN里面的 newform1 就是在程序运行的时候,回创建一个新的form1窗口对象

 

主要操作的还是form.cs文件。

也是分为两个界面,一个是代码界面,一个是设计界面。 主要在设计界面完成。

 form类的属性分为了两部分,这里partial就是代表这是属性的一部分

 

 类的另一部分代码在这个form1里面

 

 

窗体属性
窗体种类:
+ 记事本类型  可随意更改大小
+ 计算器类型   固定大小  不可最大化
+ 无边框类型   无边框,无标题栏选项
+ 不规则类型   不规则形状边框
+ 置顶类型      显示基层高,在所有程序的最上面

 

 窗体常用属性

+ 布局
- AutoScroll        内容超出范围会出现滚动条
- MaximumSize   窗体最大大小
- MinimumSize   窗体最小大小
- Size                 窗体目前大小,会随时跟着改变
- StartPosition     窗体启动位置,center screen会根据屏幕位置居中,center parebt 根据父级窗口居中
- WindowState    窗体初始化可见状态,初始最小化或者最大化

+ 窗口样式
- ControlBox     是否有标题栏菜单关闭,最大化,最小化啥的
- Icon               左上角 ico格式图标
- MaximizeBox   菜单是否有最大化按钮
- MinimizeBox   菜单是否有最小化按钮 
- Opacity          透明度  100%则一点不透明  0%全透明,消失了
- ShowIcon        是否显示左上角小图标
- ShowInTaskbar  这个窗体是否显示在桌面任务栏中
- TopMost           是否置顶显示
- Tran....Key        让某一个颜色变成透明

+ 外观
- BackColor      背景颜色
- BakcgroundImage     背景图
- BackgroundImageLayout  背景图展开方式
- Cursor    鼠标样式
- Font       字体样式
- ForeColor   字体颜色
- FormBorderStyle    有无边框,边框样式
- Text     与空间关联的文本

+ 杂项
- AcceptButton    “接受”按钮 , 每次按enter都相当于单机该按钮
- CancelButton     “取消”按钮 , 每次按esc都相当于单机该按钮

 

 

补充两条

  1. this.WindowState= FormWindowState.Normal;将这个窗体回归到默认样式[如最小化到还原]
  2. Form1,Form2,Form3每个都是一个数据类型,因为他们都是继承自Form,Form是所有窗体类型的基类,若果写一个Form类型的泛型集合,它们也都能放到里面.

 

以上是关于写了一个C#winform程序,在我的电脑上运行没有问题,但是在别人的电脑运行一次就自动关闭了的主要内容,如果未能解决你的问题,请参考以下文章

我写了一个winform程序 怎么让两个客户端之间通信

已发布的Winform程序 如何保证只启动一个客户端?

VS2008如何将C#写的Winform程序打包成安装包?

如何将我的 Windows C 程序转换为在 Linux 系统上运行?

使用devexpress控件的C/S程序部署到其他电脑

c# winform打包后,安装上之后没法运行?