Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> menu 
V
    Опции темы
Grok
Дата 10.3.2009, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 17.12.2007

Репутация: нет
Всего: нет



Привет!!
У меня возникла проблемка при генерировании меню
Код

    interface IMenuFactory
    {
        MenuStrip create();
    }

    public class TetrisMenuFactory : IMenuFactory
    {
        private MenuStrip ms = new MenuStrip();
        public MenuStrip create()
        {
            ms.Items.AddRange(new ToolStripItem[] {
            new NewGameToolStripMenuItemFactory().create()});
            
            ms.Location = new System.Drawing.Point(0, 0);
            ms.Name = "mainMenuStrip";
            ms.Size = new System.Drawing.Size(431, 24);
            ms.TabIndex = 2;
            ms.Text = "mainMenuStrip";
            return ms;
        }
    }

    interface IToolStripMenuItemFactory
    {
        ToolStripMenuItem create();
    }

    public class TetrisToolStripMenuItemFactory : IToolStripMenuItemFactory
    {
        private ToolStripMenuItem mi = new ToolStripMenuItem();
        public ToolStripMenuItem create() 
        {
            mi.Name = "tetrisToolStripMenuItem";
            mi.Size = new System.Drawing.Size(112, 22);
            mi.Text = "Tetris";
            return mi;
        }
    }

    public class NewGameToolStripMenuItemFactory : IToolStripMenuItemFactory
    {
        private ToolStripMenuItem mi = new ToolStripMenuItem();
        public ToolStripMenuItem create()
        {
            mi.DropDownItems.AddRange(new ToolStripItem[] { 
                new TetrisToolStripMenuItemFactory().create() });
            
            mi.Name = "newGameToolStripMenuItem";
            mi.Size = new System.Drawing.Size(152, 22);
            mi.Text = "New Game";
            return mi;
        }
    }


потом в конструкторе окна 
Код

        public MainForm()
        {
            InitializeComponent();
            TetrisMenuFactory ms = new TetrisMenuFactory();
            mainMenuStrip = ms.create();
        }


по идеи меню что генерилось в InitializeComponent() должно заменится тем что генерил я, но ничего не произошло  smile 
PM MAIL ICQ   Вверх
-Mikle-
Дата 11.3.2009, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 4
Всего: 59



нет, не должно.

вот так надо.
this.MainMenuStrip = ms.create();


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Grok
Дата 11.3.2009, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 17.12.2007

Репутация: нет
Всего: нет



а это не одно и тоже ?
PM MAIL ICQ   Вверх
-Mikle-
Дата 11.3.2009, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 4
Всего: 59



ну, скажете...

Код

    string text = "hello";
    textBox1.Text = text;

    // повлияет ли эта строчка на содержимое текстового поля?
    text = "world!"; 


Если ответ для Вас не очевиден, то я рекомендую Вам начать с основ, а не с интерфейсного программирования.

Добавлено через 2 минуты и 34 секунды
mainMenuStrip с маленькой буквы - это имя переменной, а MainMenuStrip с большой - это уже имя свойства класса Form.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Grok
Дата 11.3.2009, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 17.12.2007

Репутация: нет
Всего: нет



sorry, it was my mistake ... 

я акцентировал внимание на "this."... 

но всеравно эфекта никакого :(

Добавлено через 4 минуты и 47 секунд
хм ..  появилось после строки 
Код

this.Controls.Add(ms.create());


PM MAIL ICQ   Вверх
-Mikle-
Дата 12.3.2009, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 4
Всего: 59



Цитата(Grok @  11.3.2009,  23:46 Найти цитируемый пост)
хм ..  появилось после строки 

код C#
1:

this.Controls.Add(ms.create());


да, я забыл написать...


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Grok
Дата 12.3.2009, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 17.12.2007

Репутация: нет
Всего: нет



Спасибо )
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.7284 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.