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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2011, 23:29   #1
JROUD
 
Регистрация: 15.08.2010
Сообщений: 7
По умолчанию Как связатся с объектом объявленом в другой функции

Привет. Приступил к изучению C#, пишу первую программу на нём и столкнулся с такой проблемкой.
Хочу чтобы в меню при нажатии на кнопку "Создать" появлялась ещё одна вкладка элемента TabControl, объект которого Tab1 создан в конструкторе класса WorkSpace. Вопрос в том, как мне связаться с Tab1 из обработчика CreateTab
Код:
using System;
using System.IO;
using System.Drawing;
using System.Windows.Forms;

class WorkSpace : Form
{
    static void Main()
    {
        Application.Run(new WorkSpace());
    }
    public WorkSpace()
    {
        Text = "Program";
        MenuStrip mainmenu = new MenuStrip();
        mainmenu.Parent = this;
        mainmenu.Items.AddRange(new ToolStripItem[]
        {
            new ToolStripMenuItem("Файл", null, new ToolStripItem[]
            {
                new ToolStripMenuItem("Создать", null, CreateTab),
                new ToolStripMenuItem("Закрыть", null, CloseTab),
                new ToolStripSeparator(),
                new ToolStripMenuItem("Выход", null, Exit)
            })
        });

        TabControl Tab1 = new TabControl();
        Tab1.Name = "Tab1";
        Tab1.Parent = this;
        Tab1.Top = 25;
        Tab1.Width = this.Width;
        Tab1.Height = this.Height - 25;
        Tab1.TabPages.AddRange(new TabPage[]
        {
            new TabPage("ololo"),
            new TabPage("ololo")
        });
    }
    void CreateTab(object obj, EventArgs args)
    {
        /*TextBox txtbx = new TextBox();
        txtbx.Parent = this;
        txtbx.Multiline = true;
        //txtbx.Dock = DockStyle.Fill;
        txtbx.Top = 25;
        txtbx.Width = this.Width;
        txtbx.Height = this.Height - 25;
        //WorkTab Tab1 = new WorkTab();*/
    }
    void CloseTab(object obj, EventArgs args)
    {
        
    }
    void Exit(object obj, EventArgs args)
    {
        Close();
    }
}
JROUD вне форума Ответить с цитированием
Старый 04.01.2011, 05:46   #2
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Код:
using System;
using System.IO;
using System.Drawing;
using System.Windows.Forms;

class WorkSpace : Form
{
    TabControl Tab1; //Вот ссылка на TabControl

    static void Main()
    {
        Application.Run(new WorkSpace());
    }
    public WorkSpace()
    {
        Text = "Program";
        MenuStrip mainmenu = new MenuStrip();
        mainmenu.Parent = this;
        mainmenu.Items.AddRange(new ToolStripItem[]
        {
            new ToolStripMenuItem("Файл", null, new ToolStripItem[]
            {
                new ToolStripMenuItem("Создать", null, CreateTab),
                new ToolStripMenuItem("Закрыть", null, CloseTab),
                new ToolStripSeparator(),
                new ToolStripMenuItem("Выход", null, Exit)
            })
        });

        Tab1 = new TabControl();
        Tab1.Name = "Tab1";
        Tab1.Parent = this;
        Tab1.Top = 25;
        Tab1.Width = this.Width;
        Tab1.Height = this.Height - 25;
        Tab1.TabPages.AddRange(new TabPage[]
        {
            new TabPage("ololo"),
            new TabPage("ololo")
        });
    }
    void CreateTab(object obj, EventArgs args)
    {

        this.Tab1 //Дальше делаешь, что нужно было делать!!!!!


        /*TextBox txtbx = new TextBox();
        txtbx.Parent = this;
        txtbx.Multiline = true;
        //txtbx.Dock = DockStyle.Fill;
        txtbx.Top = 25;
        txtbx.Width = this.Width;
        txtbx.Height = this.Height - 25;
        //WorkTab Tab1 = new WorkTab();*/
    }
    void CloseTab(object obj, EventArgs args)
    {
        
    }
    void Exit(object obj, EventArgs args)
    {
        Close();
    }
}
Casper-SC вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов функции из другой книги Tolikv Microsoft Office Excel 1 06.07.2010 13:52
Как сделать грамотно проверку на столкновение с объектом Ckomoroh Общие вопросы Delphi 3 26.10.2009 02:38
Функция в параметре другой функции.. templllar Помощь студентам 2 14.04.2008 14:56
Как связатся с DNS DShiller Работа с сетью в Delphi 1 11.12.2007 17:03
перевести функции в другой вид boom99 Паскаль, Turbo Pascal, PascalABC.NET 4 21.11.2007 14:11