-5
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Awesomium.Core;
using Awesomium.Web;
using Awesomium.Windows;
using Awesomium.ComponentModel;
using Awesomium;

namespace Mozart_Browser
{
    public partial class Form1 : Form
    {
        int max_tab = 0;
        public Awesomium.Windows.Forms.WebControl[] Browser;
        System.Uri home = Properties.Settings.Default.home;
        public Form1()
        {
            InitializeComponent();
            newTabs(false, new Awesomium.Windows.Forms.WebControl());
        }
        public void newTabs(bool goHome, Awesomium.Windows.Forms.WebControl contlor)
        {
            max_tab++;
            Browser[max_tab] = new Awesomium.Windows.Forms.WebControl();
            Browser[max_tab] = contlor;
            Browser[max_tab].Size = new Size(545, 283);
            Browser[max_tab].Location = new Point(6, 51);
            Browser[max_tab].Anchor = (AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top);
            if (goHome == true)
            {
                Browser[max_tab].Source = home;
            }
            else
            {

            }
            customTabControl1.TabPages.Add("New Tabs");
            customTabControl1.TabPages[max_tab].Controls.Add(Browser[max_tab]);
        }
    }
}

Вот тут

Browser[max_tab] = new Awesomium.Windows.Forms.WebControl();

Пишет ошибку Ссылка на объект не указывает на экземпляр объекта.

cas
  • 722
  • 1
    а подумать? обращаетесь по индексу к элементу массива, и такая ошибка, значит...? – Макс Жуков Sep 03 '13 at 17:38
  • 1
    Ну, видимо Browser[max_tab] не существует. Наверное надо создать Browser, А потом ещё и увеличить число элементов массива Browser до нужного. – Чад Sep 03 '13 at 17:39
  • Тут вы его декларируете, но никак не создаёте – Чад Sep 03 '13 at 17:44
  • Черт возьми, как я люблю такие вопросы. – nitrocaster Sep 03 '13 at 17:49
  • 1

    А как мне его тогда создать

    пока на рынке труда со мной конкурируют такие таланты, я без работы не останусь

    – DreamChild Sep 03 '13 at 17:57
  • ну да ну да – cas Sep 03 '13 at 17:59
  • 1

    Я просто только начал C# изучать

    так вот вы и займитесь именно его изучением, глядишь и глупые вопросы отпадут. А пока складывается такое впечатление, что вы пытаетесь писать программу методом тыка, поленившись даже прочесть первые 20 страниц любой книги по C#

    – DreamChild Sep 03 '13 at 18:02
  • На первых 20 страниц книги которую и читал было содержание и вступление – cas Sep 03 '13 at 18:04
  • открою вам страшную тайну - их можно было пропустить и начать со следующих 20 – DreamChild Sep 03 '13 at 18:05
  • да ладно я и не знал – cas Sep 03 '13 at 18:06

1 Answers1

1

Вам необходимо:

  1. создать объект массивов Browser[]. Объекты создаются оператором new.
  2. Но это ещё не всё, т.к. вам нужен массив. Вы используете статический массив, хотя при этом его динамично расширять. Тут два варианта - либо вы создаёте массив объектов Browser с запасом, либо используете динамичный массив, например List.

В первом варианте это

...
Browser = new Awesomium.Windows.Forms.WebControl[10]; //на 10 вкладок
...

во втором варианте это :

public List<Awesomium.Windows.Forms.WebControl> Browser;
...
Browser = new List<Awesomium.Windows.Forms.WebControl>();
...
Browser.add(new Awesomium.Windows.Forms.WebControl());

Куда что расставить надеюсь догадаетесь?

Чад
  • 9,073