Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5

Не пашет контекстное меню

21.02.2010, 17:15. Показов 1493. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
создание, (компилятор ошибок не выдет, менюшка вылазит но не работает)
C#
1
2
3
4
5
6
7
            popUpMenu = new ContextMenu();
 
            popUpMenu.MenuItems.Add("Tiny", new EventHandler(this.PopUp_Clicked));
            popUpMenu.MenuItems.Add("Normal", new EventHandler(this.PopUp_Clicked));
            popUpMenu.MenuItems.Add("Huge", new EventHandler(this.PopUp_Clicked));
 
            this.ContextMenu = popUpMenu;
обработчик событий для меню:
C#
1
2
3
4
5
6
7
8
9
10
11
        private void PopUp_Clicked(object sender, EventArgs e)
        {
            MenuItem mClicked = (MenuItem)sender;
            string value = mClicked.ToString();
 
            if (value == "Tiny") CurrFontSize = TheFontSize.Tiny;
            if (value == "Normal") CurrFontSize = TheFontSize.Normal;
            if (value == "Huge") CurrFontSize = TheFontSize.Huge;
            
            Invalidate();
        }
текст в форме должен менять размер, чего не происходит, что не так?

Полный код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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 System.Configuration;
 
namespace WindowsFormsApplication1
{
    internal struct TheFontSize
    {
        public static int Huge = 20;
        public static int Normal = 15;
        public static int Tiny = 10;
    }
    public partial class Form1 : Form
    {
        private int CurrFontSize = TheFontSize.Normal;
        private ContextMenu popUpMenu;
        private MainMenu mainMenu;
 
        public Form1()
        {
            popUpMenu = new ContextMenu();
 
            popUpMenu.MenuItems.Add("Tiny", new EventHandler(this.PopUp_Clicked));
            popUpMenu.MenuItems.Add("Normal", new EventHandler(this.PopUp_Clicked));
            popUpMenu.MenuItems.Add("Huge", new EventHandler(this.PopUp_Clicked));
 
            mainMenu = new MainMenu();
 
            MenuItem mFile = mainMenu.MenuItems.Add("&Файл");
            mFile.MenuItems.Add("&Выход", new EventHandler(this.FileExit_Clicked)).Shortcut = Shortcut.CtrlX;
 
            MenuItem mAbout = mainMenu.MenuItems.Add("&Помощь");
            mAbout.MenuItems.Add("&Справка", new EventHandler(this.About_Clicked)).Shortcut = Shortcut.CtrlH;
 
            this.ContextMenu = popUpMenu;
            this.Menu = mainMenu;
 
            mainMenu.GetForm().BackColor = Color.Black;
 
            BackColor = Color.Wheat;
            Opacity = 0.9d;
            this.Cursor = Cursors.Help;
            
          //  GetStatus();
            InitializeComponent();
 
       //     Application.ApplicationExit += new EventHandler(On_Exit);
            this.KeyUp += new KeyEventHandler(OnKeyUp);
            this.Paint += new PaintEventHandler(FPaint);
            this.Resize += new EventHandler(this.Form1_Resize);
        }
 
        private void PopUp_Clicked(object sender, EventArgs e)
        {
            MenuItem mClicked = (MenuItem)sender;
            string value = mClicked.ToString();
 
            if (value == "Tiny") CurrFontSize = TheFontSize.Tiny;
            if (value == "Normal") CurrFontSize = TheFontSize.Normal;
            if (value == "Huge") CurrFontSize = TheFontSize.Huge;
            
            Invalidate();
        }
 
        private void About_Clicked(object sender, EventArgs e)
        {
            MessageBox.Show("Это мое первре приложение.");
        }
 
        private void FileExit_Clicked(object sender, EventArgs e)
        {
            this.Close();
        }
 
        private void Form1_Resize(object senser, EventArgs e)
        {
            Invalidate();
        }
 
        private void FPaint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.DrawString("Текстовое поле с некотрым содержимым",
                new Font("Times New Roman", (float)CurrFontSize),
                new SolidBrush(Color.Black), this.DisplayRectangle);
        }
 
        public void OnKeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Add) this.Opacity += 0.03d;
            else if (e.KeyCode == Keys.Subtract) this.Opacity -= 0.03d;
            //else MessageBox.Show(e.KeyCode.ToString(), "Key pressed!");
        }
 
        protected override void OnMouseUp(MouseEventArgs e)
        {
           // if (e.Button == MouseButtons.Left) MessageBox.Show("Left click!");
           // if (e.Button == MouseButtons.Right) MessageBox.Show("Right click!");
            if (e.Button == MouseButtons.Middle) MessageBox.Show("Middle click!");
        }
 
        protected override void OnMouseMove(MouseEventArgs e)
        {
            this.Text = "Current pos: (" + e.X + "," + e.Y + ")";
        }
 
        public void On_Exit(object sender, EventArgs evArgs)
        {
            MessageBox.Show("Всего наилучшего!", "Завершение программы");
        }
 
        public void GetStatus()
        {
            MessageBox.Show(Application.CompanyName, "Comany name");
            MessageBox.Show(Application.ProductName, "Product name");
            MessageBox.Show(Application.StartupPath, "I'm live in");
        }
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    partial class Form1 : Form
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
 
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
 
        #region Windows Form Designer generated code
 
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.CenterToScreen();
            this.SuspendLayout();
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(264, 191);
            this.Name = "Form1";
            this.Text = "My first application";
            this.ResumeLayout(false);
            this.AutoScroll = true;
            this.AutoScrollMinSize = new System.Drawing.Size(286, 145);
        }
 
        #endregion
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Reflection;
 
namespace WindowsFormsApplication1
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.02.2010, 17:15
Ответы с готовыми решениями:

контекстное меню
Как виндовое контекстное(то, которое открывается при клике пкм на файле) меню отобразить в программе?

Отобразить контекстное меню
Привет. Я тут столкнулся с таким вопросом, как контекстное меню. Можно ли отображать стандартное контекстное меню (как в Винде) при...

Контекстное меню Windows
Может кто-нибудь что-нибудь посоветует....Ситуация такова, устанавливаю свою программу на Win XP 32 бит, программа добавляет пункты в...

2
3 / 3 / 1
Регистрация: 28.10.2009
Сообщений: 6
21.02.2010, 22:32
Надо писать НЕ
C#
1
string value = mClicked.ToString();
а:
C#
1
string value = mClicked.Text.ToString();
1
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
21.02.2010, 23:04  [ТС]
Kljaksa, спасибо я когда вывел строку через MessegeBox.Show(value); все понял сам))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.02.2010, 23:04
Помогаю со студенческими работами здесь

Контекстное меню Windows
Проблема вот в чем сделал инсталлятор, который добавляет дополнительные пункты в контекстное меню Windows, так вот на ноуте доп контекстное...

контекстное меню listbox
Имеется компонент listbox к нему прикручено меню contextmenustrip как сделать что-бы при нажатии правой кнопкой, сначала выделялся...

Расширить контекстное меню в проводнике
а если хочу расширенное меню? пробовал добавлять разделы так Proga 1 -1.1 -1.1.1 2 и т.д. и если...

Контекстное меню для Грида...
Нужно ревлизовать контекстрое меню у динамичести созданного контрола - грида. Выдается ошибка:В экземпляре объекта не задана ссылка на...

Отобразить контекстное меню вручную
Здравствуйте. Подскажите как отобразить контекстное меню вручную System.Drawing.Point pt = new System.Drawing.Point(100,100);//...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru