Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#复选框:名称。。。在当前上下文中不存在_C#_Checkbox - Fatal编程技术网

C#复选框:名称。。。在当前上下文中不存在

C#复选框:名称。。。在当前上下文中不存在,c#,checkbox,C#,Checkbox,我对VS2010 C有问题: 我已在我的表单上创建了一个名为“chkVehicles”的复选框,在我的Form1.cs中,我试图确定是否选中了该复选框,但我收到了错误消息: “当前上下文中不存在名称“xVehicles” (除了复选框之外,我的代码工作正常…) 表格1.cs: namespace plottingMap { public partial class MapForm : Form { Map mapData = new Map();

我对VS2010 C有问题:

我已在我的表单上创建了一个名为“chkVehicles”的复选框,在我的Form1.cs中,我试图确定是否选中了该复选框,但我收到了错误消息: “当前上下文中不存在名称“xVehicles”

(除了复选框之外,我的代码工作正常…)

表格1.cs:

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
作为参数传递给使用它的class
Map
上的方法


另一个选项是将其传递给构造函数(如果有意义)。
Map
class看不到表单的属性。

您需要将
xVehicles
作为参数传递给class
Map
上使用它的方法


另一个选项是,如果有意义,将其传递给构造函数。
Map
class无法查看表单的属性。

Hi,感谢您的帖子,我尝试了您的建议,但仍然收到相同的错误消息:“名称‘xVehicles’在当前上下文中不存在”,只是为了确保我正确添加了代码:
if(VehiclerRay.Contains(objName)和&xVehicle.checked)
Hi,感谢您的帖子,我尝试了您的建议,但仍然收到相同的错误消息:“名称‘xVehicles’在当前上下文中不存在”,只是为了确保我正确添加了代码:
if(VehiclerRay.Contains(objName)和&xVehicle.checked)