Как выводить текст в windows forms

Ответили на вопрос 3 человека. Оцените лучшие ответы! И подпишитесь на вопрос, чтобы узнавать о появлении новых ответов.
  • FoggyFinder

Суть в том, что есть кусочек кода, который выводит результат работы в консоль, а необходимо, чтобы он выводил на экран формы windows forms, несколько часов гугления не помогли

int a = 1;
int b = a;
int c;
						
for (int i = 0; i < 8; i++) {
	c = a + b;
	a = b;
	b = c;
	Console.WriteLine(c);
	System.Threading.Thread.Sleep(1000);
}


  • Вопрос задан

    более трёх лет назад

  • 9560 просмотров

Пригласить эксперта

int a = 1;
int b = a;
int c;

//Создаем форму
System.Windows.Forms.Form form = new System.Windows.Forms.Form();
//Задаем размер
form.Size = new System.Drawing.Size(640, 480);
//Создаем текстовое поле
System.Windows.Forms.RichTextBox richTextBox = new System.Windows.Forms.RichTextBox();
//Задаем размер поля на всю форму
richTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
//Добавляем поле на форму
form.Controls.Add(richTextBox);
            
for (int i = 0; i < 8; i++) {
  c = a + b;
  a = b;
  b = c;
  //Записываем значение текста с новой строки
  richTextBox.Text = richTextBox.Text + c + System.Environment.NewLine;
  System.Threading.Thread.Sleep(1000);
}


  • Показать ещё
    Загружается…

06 февр. 2023, в 06:52

5000 руб./за проект

06 февр. 2023, в 06:02

5000 руб./за проект

06 февр. 2023, в 04:34

10000 руб./за проект

Минуточку внимания

Здравствуйте!
Подскажите пожалуйста как правильно передать из поля ввода текст, который был введен пользователем, в поле вывода текста выше?

вот как выглядит модель интерфейса

модель формы программы

В качестве поле ввода я использовал Rich TextBox и полсе нажатия button Сказать, текст должен отформатироваться моим кодом и попасть в поле вывода текста.
В качестве вывода введенного текста использовал List View

Текст должен выводится, не стирая предыдущий текст т.е. старый текст прокручивается автоматически вверх или в низ, а новый(который был повторно введен в поле ввода) отображается на экране

как правильно без ошибок получить текст из поля ввода, для отформатирования его моим кодом и затем вывести такой текст в поле вывода?

вот исходный код

#pragma once

namespace form {

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;

/// <summary>
/// Сводка для Form1
/// </summary>
public ref class Form1 : public System::Windows::Forms::Form
{
public:
    Form1(void)
    {
        InitializeComponent();
        //
        //TODO: добавьте код конструктора
        //
    }

protected:
    /// <summary>
    /// Освободить все используемые ресурсы.
    /// </summary>
    ~Form1()
    {
        if (components)
        {
            delete components;
        }
    }
private: System::Windows::Forms::ListView^  listView1;
protected: 
private: System::Windows::Forms::PictureBox^  pictureBox1;
private: System::Windows::Forms::RichTextBox^  richTextBox1;
private: System::Windows::Forms::Button^  button1;

private:
    /// <summary>
    /// Требуется переменная конструктора.
    /// </summary>
    System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
    /// <summary>
    /// Обязательный метод для поддержки конструктора - не изменяйте
    /// содержимое данного метода при помощи редактора кода.
    /// </summary>
    void InitializeComponent(void)
    {
        System::ComponentModel::ComponentResourceManager^  resources = (gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid));
        this->listView1 = (gcnew System::Windows::Forms::ListView());
        this->pictureBox1 = (gcnew System::Windows::Forms::PictureBox());
        this->richTextBox1 = (gcnew System::Windows::Forms::RichTextBox());
        this->button1 = (gcnew System::Windows::Forms::Button());
        (cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->pictureBox1))->BeginInit();
        this->SuspendLayout();
        // 
        // listView1
        // 
        this->listView1->Location = System::Drawing::Point(201, -1);
        this->listView1->Name = L"listView1";
        this->listView1->Size = System::Drawing::Size(417, 309);
        this->listView1->TabIndex = 0;
        this->listView1->UseCompatibleStateImageBehavior = false;
        // 
        // pictureBox1
        // 
        this->pictureBox1->Image = (cli::safe_cast<System::Drawing::Image^  >(resources->GetObject(L"pictureBox1.Image")));
        this->pictureBox1->Location = System::Drawing::Point(-2, -1);
        this->pictureBox1->Name = L"pictureBox1";
        this->pictureBox1->Size = System::Drawing::Size(197, 448);
        this->pictureBox1->SizeMode = System::Windows::Forms::PictureBoxSizeMode::StretchImage;
        this->pictureBox1->TabIndex = 1;
        this->pictureBox1->TabStop = false;
        // 
        // richTextBox1
        // 
        this->richTextBox1->Location = System::Drawing::Point(201, 314);
        this->richTextBox1->Name = L"richTextBox1";
        this->richTextBox1->Size = System::Drawing::Size(417, 99);
        this->richTextBox1->TabIndex = 2;
        this->richTextBox1->Text = L"";
        // 
        // button1
        // 
        this->button1->Location = System::Drawing::Point(201, 420);
        this->button1->Name = L"button1";
        this->button1->Size = System::Drawing::Size(417, 23);
        this->button1->TabIndex = 3;
        this->button1->Text = L"Сказать";
        this->button1->UseVisualStyleBackColor = true;
        this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
        // 
        // Form1
        // 
        this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
        this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
        this->ClientSize = System::Drawing::Size(622, 447);
        this->Controls->Add(this->button1);
        this->Controls->Add(this->richTextBox1);
        this->Controls->Add(this->pictureBox1);
        this->Controls->Add(this->listView1);
        this->MaximizeBox = false;
        this->Name = L"Form1";
        this->Text = L"Form1";
        (cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->pictureBox1))->EndInit();
        this->ResumeLayout(false);

    }
#pragma endregion
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
         {  

         }
};
}

StartProg

0 / 0 / 0

Регистрация: 16.07.2015

Сообщений: 40

1

14.09.2015, 14:41. Показов 5424. Ответов 2

Метки нет (Все метки)


На форме два textBox1(выводится) и TextBox2(берется) и кнопка в TextBox2 вводим символ по которому производится выборка из массива. Как результат вывести в textBox1?

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
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;
 
namespace формированиеXMLизЗапросаLinq
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
           
        }
 
        private void label1_Click(object sender, EventArgs e)
        {
 
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            string[] names = { "asd", "asd", "ftfj", "ssss", "ddd", "aaa", "wwww", "fff", "few", "eds", "qxv"} ;
            var queryResults = 
                from n in names
                where n.StartsWith("a")
                select n;
 
            textBox1.Text = (queryResults);      
            
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            
        }
    }
}

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



lodret

Заблокирован

14.09.2015, 14:51

2

StartProg,

C#
1
2
3
4
var queryResults = 
                from n in names
               where n[0] == StartsWith[n.Length - 1]
               select n;



1



VLK

198 / 170 / 19

Регистрация: 05.05.2013

Сообщений: 1,235

14.09.2015, 14:54

3

C#
1
this.textBox1.Text = "то, что надо вставить";



1



Последнее обновление: 31.10.2015

Для ввода и редактирования текста предназначены текстовые поля — элемент TextBox. Так же как и у элемента Label текст элемента TextBox
можно установить или получить с помощью свойства Text.

По умолчанию при переносе элемента с панели инструментов создается однострочное текстовое поле. Для отображения больших объемов информации в
текстовом поле нужно использовать его свойства Multiline и ScrollBars.
При установке для свойства Multiline значения true, все избыточные символы, которые выходят за границы поля, будут переноситься на
новую строку.

Кроме того, можно сделать прокрутку текстового поля, установив для его свойства ScrollBars одно из значений:

  • None: без прокруток (по умолчанию)

  • Horizontal: создает горизонтальную прокрутку при длине строки, превышающей ширину текстового поля

  • Vertical: создает вертикальную прокрутку, если строки не помещаются в текстовом поле

  • Both: создает вертикальную и горизонтальную прокрутку

Элемент TextBox в Windows Forms

Автозаполнение текстового поля

Элемент TextBox обладает достаточными возможностями для создания автозаполняемого поля. Для этого нам надо привязать свойство
AutoCompleteCustomSource элемента TextBox к некоторой коллекции, из которой берутся данные для заполнения поля.

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

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        AutoCompleteStringCollection source = new AutoCompleteStringCollection() 
        { 
            "Кузнецов", 
            "Иванов", 
            "Петров", 
            "Кустов" 
        };
        textBox1.AutoCompleteCustomSource = source;
        textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
        textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
    }
}

Автозаполнение текстового поля

Режим автодополнения, представленный свойством AutoCompleteMode, имеет несколько возможных значений:

  • None: отсутствие автодополнения

  • Suggest: предлагает варианты для ввода, но не дополняет

  • Append: дополняет введенное значение до строки из списка, но не предлагает варианты для выбора

  • SuggestAppend: одновременно и предлагает варианты для автодополнения, и дополняет введенное пользователем значение

Перенос по словам

Чтобы текст в элементе TextBox переносился по словам, надо установить свойство WordWrap равным true. То есть если одно
слово не умещается на строке, то но переносится на следующую. Данное свойство будет работать только для многострочных текстовых полей.

Ввод пароля

Также данный элемент имеет свойства, которые позволяют сделать из него поле для ввода пароля. Так, для этого надо использовать PasswordChar
и UseSystemPasswordChar.

Свойство PasswordChar по умолчанию не имеет значение, если мы установим в качестве него какой-нибудь символ, то этот символ будут отображаться
при вводе любых символов в текстовое поле.

Свойство UseSystemPasswordChar имеет похожее действие. Если мы установим его значение в true, то вместо введенных символов
в текстовом поле будет отображаться знак пароля, принятый в системе, например, точка.

Событие TextChanged

Из всех событий элемента TextBox следует отметить событие TextChanged, которое срабатывает при изменении текста в элементе. Например, поместим
на форму кроме текстового поля метку и сделаем так, чтобы при изменении текста в текстовом поле также менялся текст на метке:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        textBox1.TextChanged += textBox1_TextChanged;
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        label1.Text = textBox1.Text;
    }
}

Событие TextChanged

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

Для начало создадим обычное приложение WinForm и разместим на нем кнопку при нажатии на которое будем выводить сообщения.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

using System;

using System.Windows.Forms;

namespace Сообщения

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

        {

        }

    }

}

Для того что бы вывести обычно сообщения достаточно вписать в метод нажатия кнопки строку:

private void button1_Click(object sender, EventArgs e)

        {

            MessageBox.Show(«nookery.ru»);

        }

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

private void button1_Click(object sender, EventArgs e)

        {

            MessageBox.Show(«nookery.ru», «Сайт»);

        }

В следующем примере нам придется использовать MessageBoxButtons в качестве передаваемого аргумента. Однако он имеет несколько параметров:

  • MessageBoxButtons.AbortRetryIgnore – Прервать | Повтор | Пропустить
  • MessageBoxButtons.OK — ОК
  • MessageBoxButtons.OKCancel — ОК | Отмена
  • MessageBoxButtons.RetryCancel — Повтор | Отмена
  • MessageBoxButtons.YesNo — Да | Нет
  • MessageBoxButtons.YesNoCancel — Да | Нет | Отмена

Это нам позволит разместить в диалоговом окне сообщение кнопку или кнопки, в зависимости от параметров.

Рассмотрим все примеры с использованием кнопок:

Вариант AbortRetryIgnore

private void button1_Click(object sender, EventArgs e)

        {

            MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.AbortRetryIgnore);

        }

Вариант OK

В этом варианте у нас ничего не измениться так как он используется по умолчанию, выводит кнопку Ok.

Вариант OKCancel

private void button1_Click(object sender, EventArgs e)

        {

            MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OKCancel);

        }

Вариант RetryCancel Диалоговое окно подходит для вывода сообщения пользователю с возможностью повторения какого либо действия, имея в функционале диалогового окна две кнопки Повтор, Отмена.

private void button1_Click(object sender, EventArgs e)

        {

            MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.RetryCancel);

        }

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

private void button1_Click(object sender, EventArgs e)

        {

            MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.YesNo);

        }

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

private void button1_Click(object sender, EventArgs e)

        {

            MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.YesNoCancel);

        }

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

MessageBoxIcon.Error Диалоговое окно подходит для вывода сообщения пользователю об ошибке.

private void button1_Click(object sender, EventArgs e)

        {

            MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Error);

        }

MessageBoxIcon.Information Диалоговое окно подходит для вывода сообщения пользователю о какой то информации.

   private void button1_Click(object sender, EventArgs e)

        {

            MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Information);

        }

MessageBoxIcon.None

Данные вариант стоит по умолчанию и не выводит никого изображения.

MessageBoxIcon.Question Диалоговое окно подходит для вывода сообщения пользователю о помощи.

  private void button1_Click(object sender, EventArgs e)

        {

            MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Question);

        }

MessageBoxIcon.Warning Диалоговое окно подходит для вывода сообщения пользователю об ошибке или опасности.

  private void button1_Click(object sender, EventArgs e)

        {

            MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Warning);

        }

MessageBoxIcon.Exclamation

private void button1_Click(object sender, EventArgs e)

        {

         MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

        }

MessageBoxIcon.Stop

private void button1_Click(object sender, EventArgs e)

        {

         MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Stop);

        }

MessageBoxIcon.Asterisk

private void button1_Click(object sender, EventArgs e)

        {

         MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

        }

MessageBoxIcon.Hand

private void button1_Click(object sender, EventArgs e)

        {

         MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.OK, MessageBoxIcon.Hand);

        }

Для того что бы сохранить полученный результат после нажатия кнопки, нам достаточно создать переменную класса DialogResult

DialogResult может принимать следующие значения:

  • DialogResult.Abort —  Прервать
  • DialogResult.Cancel — Отмена
  • DialogResult.Ignore — Пропустить
  • DialogResult.No —  Нет
  • DialogResult.Yes —  Да
  • DialogResult.OK —  ОК
  • DialogResult.Retry —  Повтор

  DialogResult resualt=  MessageBox.Show(«nookery.ru», «Сайт», MessageBoxButtons.YesNo);

А что бы посмотреть что хранить переменная resualt мы можем вывести ее в сообщении :

MessageBox.Show(resualt.ToString());

В моем примере я нажал на кнопку Да и вывелось сообщения

В этих примерах мы рассмотрели возможность вывода сообщений пользователю, на основе диалоговых окно в WinForm.

Понравилась статья? Поделить с друзьями:
  • Как выдать права системы на учетную запись windows 10
  • Как вывести экран телефона на ноутбук через usb 7 windows
  • Как выводить матрицу в windows forms
  • Как вывести экран на проектор windows 10
  • Как выдать права администратора на учетную запись windows 10 через консоль