C#用户控件崩溃VS11 - c#

我发现自己是第一次编写C3,并且在很短的时间内第一次使用Visual Studio。

我正在创建一个允许选择文件/文件夹等的用户控件,以使此类控件在将来更容易实现。但是,每当我将控件拖到任何窗体时,Visual Studio都会立即崩溃。我尝试过几次重建整个解决方案。
该错误似乎仅在控件中创建公共变量时才会发生。

有谁知道如何解决这个问题?
代码正在开发中...;)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace BackupReport.tools
{
    public partial class pathchooser : UserControl
    {

        #region "Datatypes"
        public enum DLG { Folder, FileSave, FileOpen };
        #endregion

        #region "public properties"
        public DLG Dtype
        {
            get
            {
                return this.Dtype;
            }
            set
            {
                this.Dtype = value;
            }
        }

        public string labelText
        {
            get
            {
                return this.labelText;
            }
            set
            {
                this.labelText = value;
                label1.Text = this.labelText;
            }
        }
        #endregion

        #region "Constructor"
        public pathchooser()
        {
            InitializeComponent();
            this.Dtype = DLG.Folder;
            this.labelText = "Source:";
            label1.Text = this.labelText;
        }
        #endregion

        private void browse_button_Click(object sender, EventArgs e)
        {
            switch (this.Dtype)
            {
                case DLG.Folder:
                    if (fbd.ShowDialog() == DialogResult.OK)
                    {
                        path_textbox.Text = fbd.SelectedPath;
                    }
                    break;

                case DLG.FileSave:
                    break;

                case DLG.FileOpen:
                    break;

                default:
                    break;
            }
        }
    }
}

任何帮助,将不胜感激。
我也不确定它是否重要,但是我正在使用VS11 beta。

//马丁

参考方案

public DLG Dtype
    {
        get
        {
            return this.Dtype;
        }
        set
        {
            this.Dtype = value;
        }
    }

您有一个引用自身的属性,因此在其内部(分别)调用其自身的getter和setter。要么更合适,要么拥有空的访问器:

public DLG DType{get; set;}

或让访问器引用私有变量:

private DLG dtype;
public DLG Dtype
    {
        get
        {
            return this.dtype;
        }
        set
        {
            this.dtype = value;
        }
    }

从控件中删除除一项以外的所有项 - c#

我目前有一个Sharepoint 2010 Web部件,其中包含多个标签。我想以编程方式删除除这些标签之一以外的所有标签。我尝试了下面的代码,但得到了System.InvalidOperationException,因为显然在迭代过程中无法修改集合。但是,我不知道该如何尝试。 private void clearLabels() { foreach (Con…

错误CS0027:关键字'this'在当前上下文中不可用 - c#

我有以下构造函数的初始化:public partial class WizardPage1 : WizardPage { public WizardPage1() : base(0, getLocalizedString(this.GetType(), "PageTitle")) { } } 哪里public static string …

LeetCode题解计算机为什么是基于二进制的?

可以是三进制么?二进制有什么好处?题解:为什么叫电子计算机?算盘应该没有二进制

LeetCode题解统计城市的所有灯泡

这个是我刚毕业的时候,一个真实的面试题,这是一个开放题。题目描述:想办法,将一个城市的所有灯泡数量统计出来。题解:费米估算法1、如果某个城市常驻人口有1000万2、假设每5人居住在一套房里,每套房有灯泡5只,那么住宅灯泡共有1000万只3、假设公众场所每10人共享一只灯泡,那么共有100万只4、主要的这两者相加就得出了1100万只当然实际上这是估算的,具体应…

LeetCode题解黑白圆盘

一个圆盘被涂上了黑白二色,两种颜色各占一个半圆。圆盘以一个未知的速度、按一个未知的方向旋转。你有一种特殊的相机可以让你即时观察到圆上的一个点的颜色。你需要多少个相机才能确定圆盘旋转的方向?题解:可以用一个相机即可