求教一个关于C#的问题

空白天 2014-05-06 09:59:24
修改主界面FrmMain的属性,将BackgroundImage的图片去掉,换上自己找的一个图片,随后程序发生错误:
错误 1 可访问性不一致: 字段类型“工作站_Server.Form1”比字段“工作站_Server.FrmMain.Frmjsjtf”的可访问性低 E:\工作站_Server\工作站_Serve
不对这个属性进行修改就没有错误,修改以后就发生错误了。
frmjsjtf的代码处如下:
namespace 工作站_Server.View
{
public partial class Form1 : Form
{
//FormWorkstation_Server mainFrm = null;
private bool isUpdate = false;
ArrayList YArrayList = new ArrayList();
ArrayList XArrayList = new ArrayList();
ArrayList ZArrayList = new ArrayList();
ArrayList TArrayList = new ArrayList();

public Form1()
{
InitializeComponent();
}
在frmMain里的声明部分如下:
public Form1 Frmjsjtf;
public Form2 Frmhj;
public Form3 Frmpst;
public Form4 Frmswxs;
随后自己做了一个小程序,form1调用form2,无论form1的背景属性如何变化form2都不发生错误,这个错误产生的原因是什么,代码都没变,给frmMain换个背景,frmjsjtf就不能访问了


...全文
166 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2014-05-06
  • 打赏
  • 举报
回复
或者是因为你frmMain的命名空间与Form1不同? 我猜测你frmMain的命名空间是工作站_Server 所以你直接使用Form1,程序在此命名空间下找不到叫Form1的窗体 你得写成 public 工作站_Server.view.Form1 Frmjsjtf;
於黾 2014-05-06
  • 打赏
  • 举报
回复
你说你只在工作站_Server.view下有个Form1 但是你报的错误全部都是工作站_Server.Form1 所以public Form1 Frmjsjtf;这句代码产生了二义性,程序不知道你想要用哪个Form1
空白天 2014-05-06
  • 打赏
  • 举报
回复
另外还有十多个错误: 错误 13 “工作站_Server.Form1”不包含“Close”的定义,并且找不到可接受类型为“工作站_Server.Form1”的第一个参数的扩展方法“Close”(是否缺少 using 指令或程序集引用?) E:\May2014\工作站_Server\工作站_Server\FrmMain.cs 1633 26 工作站_Server 错误 3 “工作站_Server.Form1”不包含“IsDisposed”的定义,并且找不到可接受类型为“工作站_Server.Form1”的第一个参数的扩展方法“IsDisposed”(是否缺少 using 指令或程序集引用?) E:\风之流动\May2014\工作站_Server\工作站_Server\FrmMain.cs 474 46 工作站_Server 错误 8 “工作站_Server.Form1”不包含“IsDisposed”的定义,并且找不到可接受类型为“工作站_Server.Form1”的第一个参数的扩展方法“IsDisposed”(是否缺少 using 指令或程序集引用?) E:\May2014\工作站_Server\工作站_Server\FrmMain.cs 1567 46 工作站_Server 错误 12 “工作站_Server.Form1”不包含“TopMost”的定义,并且找不到可接受类型为“工作站_Server.Form1”的第一个参数的扩展方法“TopMost”(是否缺少 using 指令或程序集引用?) E:\May2014\工作站_Server\工作站_Server\FrmMain.cs 1576 26 工作站_Server
空白天 2014-05-06
  • 打赏
  • 举报
回复
form1不是工作站_Server.Form1,是工作站_Server.View.form1,这个应该没有影响,解决方案里只有它一个叫form1,最初创建程序的时候那个form改名字了,在资源管理器里有一个Form1.resx是程序的资源文件,应该没有影响啊
空白天 2014-05-06
  • 打赏
  • 举报
回复
还有为什么对窗体的背景图组修改会影响到访问性,做小程序就不存在这个问题
threenewbee 2014-05-06
  • 打赏
  • 举报
回复
另外检查下你看到的Form1是不是工作站_Server.Form1 另外,给分点上面蓝色的结贴按钮。
threenewbee 2014-05-06
  • 打赏
  • 举报
回复
partial不能去掉,不是这个问题 C#允许你用partial将一个类定义在两处。
空白天 2014-05-06
  • 打赏
  • 举报
回复
在创建窗体的时候前面已经带public了,将partial去掉,出现如下错误: 错误 1 命名空间“工作站_Server.View”已经包含了“Form1”的定义 E:\工作站_Server\工作站_Server\View\Form1.designer.cs 3 18 工作站_Server 原因是窗体代码(Form1.cs)和窗体设计代码(Form1.designer.cs)都声明了form1 将designer.cs的代码移到.cs中,还是有错误: 错误 1 可访问性不一致: 字段类型“工作站_Server.Form1”比字段“工作站_Server.FrmMain.Frmjsjtf”的可访问性低 E:\工作站_Server\工作站_Server\FrmMain.cs 55 22 工作站_Server form1的定义如下: public class Form1 : Form { //FormWorkstation_Server mainFrm = null; private bool isUpdate = false; ArrayList YArrayList = new ArrayList(); ArrayList XArrayList = new ArrayList(); ArrayList ZArrayList = new ArrayList(); ArrayList TArrayList = new ArrayList(); public Form1() { InitializeComponent(); } 顺便问一下怎么给分,第一次发帖。
threenewbee 2014-05-06
  • 打赏
  • 举报
回复
工作站_Server.Form1前面加上public
空白天 2014-05-06
  • 打赏
  • 举报
回复
怎么没给到分,不好意思,怎么把分给你们?
空白天 2014-05-06
  • 打赏
  • 举报
回复
问题解决了,8楼正解,Z65443344和caozhy谢谢你们的帮助!

111,094

社区成员

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

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

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