Как вывести сообщение в c windows form
Перейти к содержимому

Как вывести сообщение в c windows form

  • автор:

Как вывести сообщение в c windows form

Как правило, для вывода сообщений применяется элемент MessageBox. Однако кроме сообственно вывода строки сообщения данный элемент может устанавливать ряд настроек, которые определяют его поведение.

Для вывода сообщения в классе MessageBox предусмотрен метод Show , который имеет различные версии и может принимать ряд параметров. Рассмотрим одну из наиболее используемых версий:

public static DialogResult Show( string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options )

Здесь применяются следующие параметры:

text : текст сообщения

caption : текст заголовка окна сообщения

buttons : кнопки, используемые в окне сообщения. Принимает одно из значений перечисления MessageBoxButtons :

  • AbortRetryIgnore : три кнопки Abort (Отмена), Retry (Повтор), Ignore (Пропустить)
  • OK : одна кнопка OK
  • OKCancel : две кнопки OK и Cancel (Отмена)
  • RetryCancel : две кнопки Retry (Повтор) и Cancel (Отмена)
  • YesNo : две кнопки Yes и No
  • YesNoCancel : три кнопки Yes, No и Cancel (Отмена)

Таким образом, в зависимости от выбора окно сообщения может иметь от одной до трех кнопок.

icon : значок окна сообщения. Может принимать одно из следующих значений перечисления MessageBoxIcon :

  • Asterisk, Information : значок, состоящий из буквы i в нижнем регистре, помещенной в кружок
  • Error, Hand, Stop : значок, состоящий из белого знака «X» на круге красного цвета.
  • Exclamation, Warning : значок, состоящий из восклицательного знака в желтом треугольнике
  • Question : значок, состоящий из вопросительного знака на периметре круга
  • None : значок у сообщения отсутствует

defaultButton : кнопка, на которую по умолчанию устанавливается фокус. Принимает одно из значений перечисления MessageBoxDefaultButton :

  • Button1 : первая кнопка из тех, которые задаются перечислением MessageBoxButtons
  • Button2 : вторая кнопка
  • Button3 : третья кнопка

options : параметры окна сообщения. Принимает одно из значений перечисления MessageBoxOptions :

  • DefaultDesktopOnly : окно сообщения отображается на активном рабочем столе.
  • RightAlign : текст окна сообщения выравнивается по правому краю
  • RtlReading : все элементы окна располагаются в обратном порядке справа налево
  • ServiceNotification : окно сообщения отображается на активном рабочем столе, даже если в системе не зарегистрирован ни один пользователь

Нередко используется один параметр — текст сообщения. Но посмотрим, как использовать остальные параметры. Пусть у нас есть кнопка, в обработчике нажатия которой открывается следующее окно сообщения:

private void button1_Click(object sender, EventArgs e)

MessageBox в Windows Forms

Однако нам не просто дается возможность установки кнопок в окне сообщения. Метод MessageBox.Show возвращает объект DialogResult , с помощью которого мы можем узнать, какую кнопку в окне сообщения нажал пользователь. DialogResult представляет перечисление, в котором определены следующие значения:

  • Abort : нажата кнопка Abort
  • Retry : нажата кнопка Retry
  • Ignore : нажата кнопка Ignore
  • OK : нажата кнопка OK
  • Cancel : нажата кнопка Cancel
  • None : отсутствие результата
  • Yes : нажата кнопка Yes и No
  • No : нажата кнопка No

Используем обработку выбора пользователя, изменив обработчик нажатия кнопки следующим образом:

private void button1_Click(object sender, EventArgs e)

И теперь, если в окне сообщения мы выберем выриант Yes, то кнопка окрасится в красный цвет.

Как вывести текст в форму в windows forms?

Lucian

c#

  • C#
  • +1 ещё

Что делать, если объект проваливается, когда я пытаюсь его поставить туда куда смотрю?

  • 1 подписчик
  • 7 часов назад
  • 23 просмотра

Использование Visual C# для выполнения простого операций ввода-вывода файлов

В этой статье описывается выполнение базового операций ввода-вывода файлов в Visual C#, а также приведен пример кода, демонстрирующий выполнение этой задачи.

Исходная версия продукта: Visual C #
Оригинальный номер базы знаний: 304430

Аннотация

  • Версию Visual Basic .NET этой статьи см. в статье Как выполнить базовый файловый ввод-вывод в Visual Basic 2005 или в Visual Basic .NET.
  • Сведения о версии .NET для Visual C++ этой статьи см. в статье Как выполнять базовый файловый ввод-вывод в Visual C++ или в Visual C++ .NET.
  • В этой статье рассматриваются пространства System.IO имен библиотеки классов Microsoft платформа .NET Framework и System.Collections .

В этой пошаговой статье показано, как выполнить шесть основных операций ввода-вывода файлов в Visual C#. Если вы не знакомы с платформа .NET Framework, вы увидите, что объектная модель для операций с файлами в .NET похожа на FileSystemObject модель (FSO), которая пользуется популярностью у многих разработчиков Visual Studio 6.0. Чтобы упростить переход, функциональность, показанная в статье Использование FileSystemObject с Visual Basic.

Вы по-прежнему FileSystemObject можете использовать в .NET. FileSystemObject Так как является компонентом COM, для .NET требуется, чтобы доступ к объекту проходил через слой взаимодействия. Microsoft .NET создает оболочку для компонента, если вы хотите его использовать. File Однако классы , FileInfo , Directory , DirectoryInfo и другие связанные классы в платформа .NET Framework предоставляют функциональные возможности, недоступные при FSO, без накладных расходов на уровень взаимодействия.

Демонстрация операций ввода-вывода файлов

В примерах в этой статье описываются основные операции ввода-вывода файлов. В разделе Пошаговый пример описывается создание примера программы, демонстрирующей следующие операции ввода-вывода файлов:

  • Чтение текстового файла
  • Запись текстового файла
  • Просмотр сведений о файлах
  • Вывод списка дисков
  • Список папок
  • Вывод списка файлов

Если вы хотите использовать следующие примеры кода напрямую, имейте в виду следующее:

    System.IO Включите пространство имен следующим образом:

using System.IO; 
string winDir=System.Environment.GetEnvironmentVariable("windir"); 
private void addListItem(string value)

Вместо объявления и использования addListItem функции можно напрямую использовать следующую инструкцию:

this.listBox1.Items.Add(value); 

Чтение текстового файла

В следующем примере кода для чтения файлаSystem.ini используется StreamReader класс . Содержимое файла добавляется в элемент управления ListBox. Блок try. catch используется для оповещения программы, если файл пуст. Существует множество способов определить, когда достигается конец файла. В этом примере метод используется Peek для изучения следующей строки перед ее чтением.

StreamReader reader=new StreamReader(winDir + "\\system.ini"); try < do < addListItem(reader.ReadLine()); >while(reader.Peek()!= -1); > catch < addListItem("File is empty"); >finally

Запись текстового файла

Этот пример кода использует класс для StreamWriter создания и записи в файл. Если у вас есть существующий файл, его можно открыть таким же образом.

StreamWriter writer = new StreamWriter("c:\\KBTest.txt"); writer.WriteLine("File created using StreamWriter class."); writer.Close(); this.listbox1.Items.Clear(); addListItem("File Written to C:\\KBTest.txt"); 

Просмотр сведений о файлах

Этот пример кода использует FileInfo объект для доступа к свойствам файла. в этом примере используется Notepad.exe. Свойства отображаются в элементе управления ListBox.

FileInfo FileProps =new FileInfo(winDir + "\\notepad.exe"); addListItem("File Name = " + FileProps.FullName); addListItem("Creation Time = " + FileProps.CreationTime); addListItem("Last Access Time = " + FileProps.LastAccessTime); addListItem("Last Write TIme = " + FileProps.LastWriteTime); addListItem("Size = " + FileProps.Length); FileProps = null; 

Вывод списка дисков

В этом примере кода классы и Drive используются Directory для вывода списка логических дисков в системе. В этом примере результаты отображаются в элементе управления ListBox.

string[] drives = Directory.GetLogicalDrives(); foreach(string drive in drives)

Вывод списка вложенных папок

В этом примере кода метод класса используется GetDirectories Directory для получения списка папок.

string[] dirs = Directory.GetDirectories(winDir); foreach(string dir in dirs)

Вывод списка файлов

В этом примере кода используется GetFiles метод класса для Directory получения списка файлов.

string[] files= Directory.GetFiles(winDir); foreach (string i in files)

Многие вещи могут пойти не так, когда пользователь получает доступ к файлам. Файлы могут не существовать, файлы могут использоваться или пользователи могут не иметь прав на файлы или папки, к которым они пытаются получить доступ. Важно учитывать эти возможности при написании кода и обработке исключений, которые могут быть созданы.

Пошаговый пример

  1. В Visual C# создайте новое приложение Windows Forms. По умолчанию создается Form1 .
  2. Откройте окно кода для Form1 (Form1.cs).
  3. Удалите весь код в Файле Form1.cs.
  4. Вставьте следующий код в окно редактора кода программной части .
using System.Windows.Forms; using System.IO; namespace fso_cs < public partial class Form1 : Form < string winDir = System.Environment.GetEnvironmentVariable("windir"); public Form1() < InitializeComponent(); >private void button1_Click(object sender, System.EventArgs e) < //How to read a text file. //try. catch is to deal with a 0 byte file. this.listBox1.Items.Clear(); StreamReader reader = new StreamReader(winDir + "\\system.ini"); try < do < addListItem(reader.ReadLine()); >while (reader.Peek()!= -1); > catch < addListItem("File is empty"); >finally < reader.Close(); >> private void button2_Click(object sender, System.EventArgs e) < //Demonstrates how to create and write to a text file. StreamWriter writer = new StreamWriter("c:\\KBTest.txt"); writer.WriteLine("File created using StreamWriter class."); writer.Close(); this.listBox1.Items.Clear(); addListItem("File Written to C:\\KBTest.txt"); >private void button3_Click(object sender, System.EventArgs e) < //How to retrieve file properties (example uses Notepad.exe). this.listBox1.Items.Clear(); FileInfo FileProps = new FileInfo(winDir + "\\notepad.exe"); addListItem("File Name = " + FileProps.FullName); addListItem("Creation Time = " + FileProps.CreationTime); addListItem("Last Access Time = " + FileProps.LastAccessTime); addListItem("Last Write TIme = " + FileProps.LastWriteTime); addListItem("Size = " + FileProps.Length); FileProps = null; >private void button4_Click(object sender, System.EventArgs e) < //Demonstrates how to obtain a list of disk drives. this.listBox1.Items.Clear(); string[] drives = Directory.GetLogicalDrives(); foreach (string drive in drives) < addListItem(drive); >> private void button5_Click(object sender, System.EventArgs e) < //How to get a list of folders (example uses Windows folder). this.listBox1.Items.Clear(); string[] dirs = Directory.GetDirectories(winDir); foreach (string dir in dirs) < addListItem(dir); >> private void button6_Click(object sender, System.EventArgs e) < //How to obtain list of files (example uses Windows folder). this.listBox1.Items.Clear(); string[] files = Directory.GetFiles(winDir); foreach (string i in files) < addListItem(i); >> private void Form1_Load(object sender, System.EventArgs e) < this.button1.Text = "Read Text File"; this.button2.Text = "Write Text File"; this.button3.Text = "View File Information"; this.button4.Text = "List Drives"; this.button5.Text = "List Subfolders"; this.button6.Text = "List Files"; >private void addListItem(string value) < this.listBox1.Items.Add(value); >> > 
namespace fso_cs < partial class Form1 < /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) < if (disposing && (components != null)) < components.Dispose(); >base.Dispose(disposing); > #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() < this.button1 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); this.button3 = new System.Windows.Forms.Button(); this.button4 = new System.Windows.Forms.Button(); this.button5 = new System.Windows.Forms.Button(); this.button6 = new System.Windows.Forms.Button(); this.listBox1 = new System.Windows.Forms.ListBox(); this.SuspendLayout(); // button1 this.button1.Location = new System.Drawing.Point(53, 30); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(112, 23); this.button1.TabIndex = 1; this.button1.Text = "button1"; this.button1.Click += new System.EventHandler(this.button1_Click); // button2 this.button2.Location = new System.Drawing.Point(53, 62); this.button2.Name = "button2"; this.button2.Size = new System.Drawing.Size(112, 23); this.button2.TabIndex = 2; this.button2.Text = "button2"; this.button2.Click += new System.EventHandler(this.button2_Click); // button3 this.button3.Location = new System.Drawing.Point(53, 94); this.button3.Name = "button3"; this.button3.Size = new System.Drawing.Size(112, 23); this.button3.TabIndex = 3; this.button3.Text = "button3"; this.button3.Click += new System.EventHandler(this.button3_Click); // button4 this.button4.Location = new System.Drawing.Point(53, 126); this.button4.Name = "button4"; this.button4.Size = new System.Drawing.Size(112, 23); this.button4.TabIndex = 4; this.button4.Text = "button4"; this.button4.Click += new System.EventHandler(this.button4_Click); // button5 this.button5.Location = new System.Drawing.Point(53, 158); this.button5.Name = "button5"; this.button5.Size = new System.Drawing.Size(112, 23); this.button5.TabIndex = 5; this.button5.Text = "button5"; this.button5.Click += new System.EventHandler(this.button5_Click); // button6 this.button6.Location = new System.Drawing.Point(53, 190); this.button6.Name = "button6"; this.button6.Size = new System.Drawing.Size(112, 23); this.button6.TabIndex = 6; this.button6.Text = "button6"; this.button6.Click += new System.EventHandler(this.button6_Click); // listBox1 this.listBox1.FormattingEnabled = true; this.listBox1.Location = new System.Drawing.Point(204, 30); this.listBox1.Name = "listBox1"; this.listBox1.Size = new System.Drawing.Size(270, 199); this.listBox1.TabIndex = 7; // Form1 this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(525, 273); this.Controls.Add(this.button6); this.Controls.Add(this.button5); this.Controls.Add(this.button4); this.Controls.Add(this.button3); this.Controls.Add(this.button2); this.Controls.Add(this.button1); this.Controls.Add(this.listBox1); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); this.ResumeLayout(false); >#endregion private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button2; private System.Windows.Forms.Button button3; private System.Windows.Forms.Button button4; private System.Windows.Forms.Button button5; private System.Windows.Forms.Button button6; private System.Windows.Forms.ListBox listBox1; > > 

Обратная связь

Были ли сведения на этой странице полезными?

Как вывести сообщение в c windows form

В разрабатываемом приложении Windows Forms при выборе какого-то пункта меню (MenuStrip) должен запоминаться выбор. В соответствии с этим выбором изменяется режим работы приложения. Каждому режиму соответствует свой текст. Предполагается, что строка с информацией о режиме будет выводиться в TextBox. Что-то подобное надписи «Работа с первичными документами . » на рисунке. Как это сделать? Мои все попытки не увенчались успехом.

Изображения

Безымянный.png (32.9 Кб, 0 просмотров)

Последний раз редактировалось kservice; 03.08.2022 в 22:31 .
Регистрация: 25.08.2011
Сообщений: 2,841

Ничего не понятно, но очень интересно.
Про switch case вы ничего не читали?? Ну или на худой конец if else.

Сообщение от kservice
Мои все попытки не увенчались успехом.
Где результаты попыток?

Skype — wmaster_s E-Mail — WorldMasters@gmail.com
Работаем по 3 критериям — быстро, качественно, недорого. Заказчик выбирает любые два.

WorldMaster
Посмотреть профиль
Найти ещё сообщения от WorldMaster

Регистрация: 15.11.2010
Сообщений: 6

Естественно читал. И пробовал. Сообщение в форму при switch case у меня не выводится, но и ошибок нет. Но пробовал вывести в MessageBox. Вывод в консоль получается.
Но с этим , по-моему, можно подождать. Главное хотелось бы понять саму идею, как вывести. Какое событие надо обработать, чтобы в строке вывода был отражеен текущий режим работы?
Результаты попыток стыдно и показывать. Детский лепет. То, что на рисунке, было сделано еще на QB.
Захотелось попробовать реализовать на C#. Первый, фактически, опыт

Последний раз редактировалось kservice; 04.08.2022 в 10:11 .
Регистрация: 25.08.2011
Сообщений: 2,841
Сообщение от kservice
Результаты попыток стыдно и показывать.
Без кода вообще не понятно чего вы хотите и как.

Skype — wmaster_s E-Mail — WorldMasters@gmail.com
Работаем по 3 критериям — быстро, качественно, недорого. Заказчик выбирает любые два.

WorldMaster
Посмотреть профиль
Найти ещё сообщения от WorldMaster

Регистрация: 15.11.2010
Сообщений: 6
Сообщение от WorldMaster
Без кода вообще не понятно чего вы хотите и как.

Кода нет, так как нет понимания и , соответственно, алгоритма.
А хочу вывода вот такой информации (строка пол заголовком Untitled). Меняется в зависимости от режима, который определяется выбором меню. Вывод должен происходить автоматически при изменении режима (при изменении меню), без нажатия дополнительных кнопок.

Изображения

1.png (53.1 Кб, 0 просмотров)
2.png (56.1 Кб, 0 просмотров)
3.png (58.6 Кб, 0 просмотров)
4.png (59.7 Кб, 0 просмотров)

Последний раз редактировалось kservice; 04.08.2022 в 11:07 . Причина: Уточнение
Регистрация: 25.08.2011
Сообщений: 2,841

Меню есть как компонент. Надо его положить на форму и привязаться к нажатиям пунктов.
Внутри нажатия определить что за кнопка, к какому режиму относится и вывести соответствующую информацию в какой нибудь Label или куда вы там хотите.

Skype — wmaster_s E-Mail — WorldMasters@gmail.com
Работаем по 3 критериям — быстро, качественно, недорого. Заказчик выбирает любые два.

WorldMaster
Посмотреть профиль
Найти ещё сообщения от WorldMaster

Регистрация: 15.11.2010
Сообщений: 6
Сообщение от WorldMaster
вывести соответствующую информацию в какой нибудь Label или куда вы там хотите.

Вот в этом и вопрос! Подскажите, как это сделать. Может ссылку какую-то. Знал бы как — и вопроса не было бы.

Регистрация: 25.08.2011
Сообщений: 2,841

Какую ссылку то??
Label разместите на форме и при нажатии сделайте

label1.Text = "abirvalg"

Какие тут ссылки то?

Skype — wmaster_s E-Mail — WorldMasters@gmail.com
Работаем по 3 критериям — быстро, качественно, недорого. Заказчик выбирает любые два.

WorldMaster
Посмотреть профиль
Найти ещё сообщения от WorldMaster

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *