DataGridView как тип свойства - PullRequest
       27

DataGridView как тип свойства

1 голос
/ 30 октября 2011

У меня есть кусок кода что-то вроде ниже.Я использую Microsoft Visual C # Express Edition.Моя проблема в том, что я не могу добавить столбцы в DataGridView во время разработки, который является членом другого класса.Вот мой код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ClassLibrary1
{
    public class Class1 : Panel
    {
        DataGridView mView;

        public Class1()
        {
        mView = new DataGridView();
        this.Controls.Add(mView);
        }

        public DataGridView View
        {
            get { return mView; }
            set { mView = value; }
        }
    }
}

Когда я нажимаю кнопку с тремя точками, чтобы добавить новые столбцы в окне свойств, я получаю System.NullException во время разработки.Я не смог опубликовать скриншот из-за своей репутации.

Спасибо за помощь!

1 Ответ

1 голос
/ 31 октября 2011

Я просто глубже загляну в твой вопрос.К сожалению, мне удалось воспроизвести описанный вопрос.После некоторых исследований DataGridView в пользовательских элементах управления я наткнулся на следующее post .

Кажется, что нет визуальной поддержки для унаследованного DataGridView - и - не для userControlsиспользуя DataGridView, тоже.Вы также можете взглянуть на эту статью

Я пытался использовать следующие унаследованные классы DataGridView - но ни один из них не сработал.Прошу прощения за отсутствие правильного решения, но я надеюсь, что это может быть полезным для вас.

/// tried this attribute - did not work
/// [Designer(typeof (System.Windows.Forms.Design.ControlDesigner))]

/// this did not work either
[Editor("System.Windows.Forms.Design.DataGridViewComponentEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(ComponentEditor))]
[Designer("System.Windows.Forms.Design.DataGridViewDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public class ucInheritedDataGridView : DataGridView { }
...