Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2015, 22:05   #1
kotor
Новичок
Джуниор
 
Регистрация: 23.05.2015
Сообщений: 2
По умолчанию компонент через User Control

Создаю компонент через User Control, но не могу передать форму в этот компонент. Пробовал через конструктор, но возникает ошибка в дизайне той формы, куда передается компонент.
Пример конструктора:

Код:
public Form1 f1;

public Component(Form1 f1)    
{
    InitializeComponent();
    this.f1 = f1;
}
Место возникновения ошибки в форме где используется компонент:
Код:
this.component1 = new bloknot.Component();
Цитата:
Error 1 'bloknot.Component' does not contain a constructor that takes 0 arguments
Пробовал такие варианты:

Код:
this.component1 = new bloknot.Component(Form1 f1);
this.component1 = new bloknot.Component(f1);
Подскажите, пожалуйста, как исправить, или как передавать в User Control без конструктора.

Последний раз редактировалось Stilet; 24.05.2015 в 07:05.
kotor вне форума Ответить с цитированием
Старый 24.05.2015, 07:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Полный текст программы в студию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.05.2015, 07:41   #3
kotor
Новичок
Джуниор
 
Регистрация: 23.05.2015
Сообщений: 2
По умолчанию

Код:
{
    public partial class Component : UserControl
    {
      // Form1 f1 = new Form1();



    
     //   public Form1 f1;
        public Form1 f1 = new Form1();

      
        public  Component()    
        {
            InitializeComponent();
            
         //   this.f1 = f1;
        
        }


        

       
  public void Array()
        {
            int col = Convert.ToInt32(Collumn.Value);

            int[] Rows = new int[10];
            Rows[0] = Convert.ToInt32(numericUpDown1.Value);
            Rows[1] = Convert.ToInt32(numericUpDown2.Value);
            Rows[2] = Convert.ToInt32(numericUpDown3.Value);
            Rows[3] = Convert.ToInt32(numericUpDown4.Value);
            Rows[4] = Convert.ToInt32(numericUpDown5.Value);
            Rows[5] = Convert.ToInt32(numericUpDown6.Value);
            Rows[6] = Convert.ToInt32(numericUpDown7.Value);
            Rows[7] = Convert.ToInt32(numericUpDown8.Value);
            Rows[8] = Convert.ToInt32(numericUpDown9.Value);
            Rows[9] = Convert.ToInt32(numericUpDown10.Value);

            int[][] Arr = new int[col][];
            int _i = 0;
            int _j = 0;
            for (int i = 0; i < col; i++)
            {
                Arr[i] = new int[Rows[i]];
                {
                    for (int j = 0; j < Rows[i]; j++)
                    {
                        _i = i + 1;
                        _j = j + 1;

                        int res = Convert.ToInt32(this.Controls["Col" + _i.ToString() + "Row" + _j.ToString()].Text);
                        Arr[i][j] = res;
                        Console.WriteLine(Arr[i][j]);
                        Console.Write(" ");
                    }
                    Console.WriteLine(" ");
                }
            }


        //    blank frm = (blank)f1.ActiveMdiChild;
        //    blank frm = new blank();
        //    frm = (blank)f1.ActiveMdiChild;
            blank frm = (blank)f1.ActiveMdiChild;

            StringBuilder rtf = new StringBuilder();
            string cell = "\\cellx";
            rtf.Append(@"{\rtf1");
            int shirinadef = 0;
            for (int i = 0; i < col; i++)
            {
                //     int shirina = shirinadef;
                shirinadef = 0;
                rtf.Append(@"\trowd");

                for (int j = 0; j < Rows[i]; j++)
                {
                    shirinadef = Arr[i][j] + shirinadef;
                    string budova = cell + shirinadef.ToString();
                    rtf.Append(budova);
                    //  rtf.Append(@"\intbl \cell \row");
                }
                rtf.Append(@"\intbl \cell \row");
            }
            rtf.Append(@"\pard");
            rtf.Append(@"}");
         //   frm1.richTextBox1.SelectedRtf = rtf.ToString();
            frm.richTextBox1.SelectedRtf = rtf.ToString();
            

        }
Здесь выложил без конструктора, но возникает проблема в строчках
blank frm = (blank)f1.ActiveMdiChild;
frm.richTextBox1.SelectedRtf = rtf.ToString();

Если писать с конструктором, то вылетает проблема в дизайте той форми, на которую перетаскиваеться компонент.
Код:
this.component1 = new bloknot.Component();
Код с конструктором работает нормально в одной из форм проекта, но добиться того же в control box не получаеться.

Последний раз редактировалось Stilet; 24.05.2015 в 08:16.
kotor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
User control ts-alan ASP.NET 0 02.04.2015 16:19
Web User Control Claster ASP.NET 0 13.09.2011 12:21
компонент ms chart control в vb Kracozebr Помощь студентам 0 06.08.2010 10:32
Visual Studio 2008 error add User Control in Form Arnezami Общие вопросы .NET 2 31.03.2010 12:43
Designer serialization exception with user control SynEnergizer Общие вопросы .NET 1 02.09.2009 15:43