C#复选框:名称。。。在当前上下文中不存在
我对VS2010 C有问题: 我已在我的表单上创建了一个名为“chkVehicles”的复选框,在我的Form1.cs中,我试图确定是否选中了该复选框,但我收到了错误消息: “当前上下文中不存在名称“xVehicles” (除了复选框之外,我的代码工作正常…) 表格1.cs:C#复选框:名称。。。在当前上下文中不存在,c#,checkbox,C#,Checkbox,我对VS2010 C有问题: 我已在我的表单上创建了一个名为“chkVehicles”的复选框,在我的Form1.cs中,我试图确定是否选中了该复选框,但我收到了错误消息: “当前上下文中不存在名称“xVehicles” (除了复选框之外,我的代码工作正常…) 表格1.cs: namespace plottingMap { public partial class MapForm : Form { Map mapData = new Map();
namespace plottingMap
{
public partial class MapForm : Form
{
Map mapData = new Map();
public MapForm()
{
InitializeComponent();
<..snip...>
}
<...snip...>
private void chkVehicles_CheckedChanged(object sender, EventArgs e)
{
CheckBox xVehicles = (CheckBox)sender;
}
}
class Map
{
<...snip...>
if (carpool.Contains(name) && xVehicles.Checked)
{
<...snip...>
}
<...snip...>
}
名称空间绘图映射
{
公共部分类MapForm:Form
{
Map mapData=新地图();
公共地图表格()
{
初始化组件();
}
私有void chkVehicles_CheckedChanged(对象发送方,事件参数e)
{
复选框X车辆=(复选框)发送方;
}
}
类图
{
如果(拼车包含(名称)和&xVehicles.选中)
{
}
}
谢谢您已经在
chkVehicles\u CheckedChanged
事件中定义了xVehicles
。您将无法在方法/事件之外访问它
不太清楚为什么需要它在类之外,但如果必须,可以将其作为参数传递给调用方法或通过构造函数传递给类,或者在类级别定义xVehicles
,如:
public partial class MapForm : Form
{
Map mapData = new Map();
public CheckBox xVehicles; //Like here
public MapForm()
{
InitializeComponent();
<..snip...>
}
<...snip...>
private void chkVehicles_CheckedChanged(object sender, EventArgs e)
{
xVehicles = (CheckBox)sender; //assign it the sender
}
//.....your rest of the code
公共部分类映射表单:表单
{
Map mapData=新地图();
公共复选框xVehicles;//像这里一样
公共地图表格()
{
初始化组件();
}
私有void chkVehicles_CheckedChanged(对象发送方,事件参数e)
{
xVehicles=(复选框)sender;//将其分配给sender
}
//…您的其余代码
您已经在chkVehicles\u CheckedChanged
事件中定义了xVehicles
。您将无法在方法/事件之外访问它
不太清楚为什么需要它在类之外,但如果必须,可以将其作为参数传递给调用方法或通过构造函数传递给类,或者在类级别定义xVehicles
,如:
public partial class MapForm : Form
{
Map mapData = new Map();
public CheckBox xVehicles; //Like here
public MapForm()
{
InitializeComponent();
<..snip...>
}
<...snip...>
private void chkVehicles_CheckedChanged(object sender, EventArgs e)
{
xVehicles = (CheckBox)sender; //assign it the sender
}
//.....your rest of the code
公共部分类映射表单:表单
{
Map mapData=新地图();
公共复选框xVehicles;//像这里一样
公共地图表格()
{
初始化组件();
}
私有void chkVehicles_CheckedChanged(对象发送方,事件参数e)
{
xVehicles=(复选框)sender;//将其分配给sender
}
//…您的其余代码
您需要将xVehicles
作为参数传递给使用它的classMap
上的方法
另一个选项是将其传递给构造函数(如果有意义)。
Map
class看不到表单的属性。您需要将xVehicles
作为参数传递给classMap
上使用它的方法
另一个选项是,如果有意义,将其传递给构造函数。
Map
class无法查看表单的属性。Hi,感谢您的帖子,我尝试了您的建议,但仍然收到相同的错误消息:“名称‘xVehicles’在当前上下文中不存在”,只是为了确保我正确添加了代码:if(VehiclerRay.Contains(objName)和&xVehicle.checked)
Hi,感谢您的帖子,我尝试了您的建议,但仍然收到相同的错误消息:“名称‘xVehicles’在当前上下文中不存在”,只是为了确保我正确添加了代码:if(VehiclerRay.Contains(objName)和&xVehicle.checked)