С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 19

Вставка текста в поле ввода

04.05.2012, 09:19. Показов 3369. Ответов 4
Метки нет (Все метки)

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

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
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.IO;
using System.Collections.Generic;
 
namespace MyProgram // Универсальная оболочка для создания электронных учебников формата ТХТ (1)
{
    class MyProgram : Window
    {
        [STAThread]
        public static void Main() { new Application().Run(new MyProgram()); }
 
        List<String> definitions = new List<string>()
        {
            "text1",
            "text2",
            "text3",
            "text4",
            "text5",
            "text6",
            "text7",
            "text8",
            "text9",
            "text10",
            "text11",
            "text12",
            "text13",
            "text14",
            "text15",
            "text16",
            "text17",
            "text18",
            "text19",
            "text20",
        };
 
        public MyProgram()
        {
            Title = "название книги";                      // 
            WindowStyle = WindowStyle.ThreeDBorderWindow;  //
            Background = new SolidColorBrush(Color.FromRgb(128, 0, 40)); // задаем цвет
            Left = 0; Top = 0; Width = 500; Height = 600;  // 
            Uri uri = new Uri("c://10.jpg");
            Button btn1 = new Button(); btn1.Content = "Кнопка 1";
            Button btn2 = new Button(); btn2.Content = "Кнопка 2";
 
            AddHandler(Button.ClickEvent, new RoutedEventHandler(ButtonOnClick));
 
            StackPanel stack = new StackPanel();
            stack.Margin = new Thickness(1);
            ScrollViewer scroll = new ScrollViewer();
            scroll.Content = stack;// 1 способ (листаем)   
            for (int i = 0; i < 20; i++)
            {
                Button btn = new Button();
                btn.Name = "текст" + (i + 1);
                btn.Content = btn.Name + " :)";
                btn.Tag = i;
                btn.Margin = new Thickness(5);
                stack.Children.Add(btn);
            }
 
            DockPanel dock = new DockPanel();    // создаём пристыкованную панель
            DockPanel.SetDock(stack, Dock.Left); // размещаем панель слева
            dock.LastChildFill = false;          // последний дочерний элемент не растягивается
 
            TextBlock txt = new TextBlock();
            txt.FontSize = 32;
            txt.Inlines.Add("Название книги");
 
            TextBox txtbox = new TextBox();
            txtbox.Margin = new Thickness(48);
            txtbox.AcceptsReturn = true; // Многострочное поле           
            txtbox.Focus();
 
            dock.Children.Add(txt);
            dock.Children.Add(scroll);
            dock.Children.Add(txtbox);
 
            txt.SetValue(DockPanel.DockProperty, (Dock)1);
            scroll.SetValue(DockPanel.DockProperty, (Dock)0);
            txtbox.SetValue(DockPanel.DockProperty, (Dock)0);
 
            Content = dock;
        }
        void ButtonOnClick(object sender, RoutedEventArgs args)
        {
            Button btn = args.Source as Button;
            if (btn != null)
            {
                try
                {
                    int index = Int32.Parse(btn.Tag.ToString());
                    MessageBox.Show(definitions[index].ToString());
                }
                catch (Exception)
                {
                    MessageBox.Show("Извините, данного определения нету");
                    return;
                }
            }
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.05.2012, 09:19
Ответы с готовыми решениями:

Поле ввода для большого текста
На странице необходимо организовать ввод запроса в виде текста. С символами переноса строки и т.п. В textBox такое не работает. При нажатии...

Передача текста в поле ввода на сайт
Есть некоторое поле ввода на сайте &lt;input id=&quot;txt&quot; class=&quot;texted&quot; type=&quot;text&quot; onblur=&quot;return txt_d();&quot; name=&quot;log&quot; value=&quot;тут...

Вставка текста при клике на поле ввода
Всем привет. Делаю крестики нолики. Как сделать так чтобы при клике по полю ввода появлялся текст поочередно. Первый клик-Х, второй-О,...

4
I ♥ C#
 Аватар для Delog
470 / 262 / 25
Регистрация: 07.05.2010
Сообщений: 567
04.05.2012, 10:39
Поле ввода, это которое на 77 строке создается? Тогда сделайте его полем вашего класса:
C#
1
2
3
4
5
6
class MyProgram : Window
{
  TextBox txtbox;
 
  ... //остальной код
}
Теперь на 77 строке указывать тип не надо:
C#
1
txtbox = new TextBox();
Таким образом ссылка на это текстовое поле будет доступна внутри всех методов вашего класса, а значит в событии щелчка по кнопке вместо MessageBox можно использовать txtbox:
C#
1
2
int index = Int32.Parse(btn.Tag.ToString());
txtbox.Text += definitions[index].ToString() + Environment.NewLine;
1
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 19
07.05.2012, 12:05  [ТС]
Теперь в 43-й строке выдается ошибка "Вызывающим потоком должен быть STA, поскольку этого требуют большинство компонентов UI". Что это такое и как это теперь исправить?
0
I ♥ C#
 Аватар для Delog
470 / 262 / 25
Регистрация: 07.05.2010
Сообщений: 567
07.05.2012, 17:13
Все нормально работает. Я поменял три строчки и поставил комментарий
//ИЗМЕНЕНО
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
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.IO;
using System.Collections.Generic;
 
namespace MyProgram // Универсальная оболочка для создания электронных учебников формата ТХТ (1)
{
    class MyProgram : Window
    {
        [STAThread]
        public static void Main() { new Application().Run(new MyProgram()); }
 
        List<String> definitions = new List<string>()
        {
            "text1",
            "text2",
            "text3",
            "text4",
            "text5",
            "text6",
            "text7",
            "text8",
            "text9",
            "text10",
            "text11",
            "text12",
            "text13",
            "text14",
            "text15",
            "text16",
            "text17",
            "text18",
            "text19",
            "text20",
        };
 
        TextBox txtbox; //ИЗМЕНЕНО
        public MyProgram()
        {
            Title = "название книги";                      // 
            WindowStyle = WindowStyle.ThreeDBorderWindow;  //
            Background = new SolidColorBrush(Color.FromRgb(128, 0, 40)); // задаем цвет
            Left = 0; Top = 0; Width = 500; Height = 600;  // 
            Uri uri = new Uri("c://10.jpg");
            Button btn1 = new Button(); btn1.Content = "Кнопка 1";
            Button btn2 = new Button(); btn2.Content = "Кнопка 2";
 
            AddHandler(Button.ClickEvent, new RoutedEventHandler(ButtonOnClick));
 
            StackPanel stack = new StackPanel();
            stack.Margin = new Thickness(1);
            ScrollViewer scroll = new ScrollViewer();
            scroll.Content = stack;// 1 способ (листаем)   
            for (int i = 0; i < 20; i++)
            {
                Button btn = new Button();
                btn.Name = "текст" + (i + 1);
                btn.Content = btn.Name + " :)";
                btn.Tag = i;
                btn.Margin = new Thickness(5);
                stack.Children.Add(btn);
            }
 
            DockPanel dock = new DockPanel();    // создаём пристыкованную панель
            DockPanel.SetDock(stack, Dock.Left); // размещаем панель слева
            dock.LastChildFill = false;          // последний дочерний элемент не растягивается
 
            TextBlock txt = new TextBlock();
            txt.FontSize = 32;
            txt.Inlines.Add("Название книги");
 
            txtbox = new TextBox(); //ИЗМЕНЕНО
            txtbox.Margin = new Thickness(48);
            txtbox.AcceptsReturn = true; // Многострочное поле           
            txtbox.Focus();
 
            dock.Children.Add(txt);
            dock.Children.Add(scroll);
            dock.Children.Add(txtbox);
 
            txt.SetValue(DockPanel.DockProperty, (Dock)1);
            scroll.SetValue(DockPanel.DockProperty, (Dock)0);
            txtbox.SetValue(DockPanel.DockProperty, (Dock)0);
 
            Content = dock;
        }
        void ButtonOnClick(object sender, RoutedEventArgs args)
        {
            Button btn = args.Source as Button;
            if (btn != null)
            {
                try
                {
                    int index = Int32.Parse(btn.Tag.ToString());
                    txtbox.Text = definitions[index].ToString(); //ИЗМЕНЕНО
                }
                catch (Exception)
                {
                    MessageBox.Show("Извините, данного определения нету");
                    return;
                }
            }
        }
    }
}
1
0 / 0 / 0
Регистрация: 21.04.2012
Сообщений: 19
08.05.2012, 20:05  [ТС]
А как сделать выравнивание по ширине? а то все в одной строчке и текст не весь видно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.05.2012, 20:05
Помогаю со студенческими работами здесь

Автоматическая вставка текста в поле ввода и нажатие на кнопку
Приветствую, суть такова. Допустим, есть поле для ввода (input) и кнопка (button): &lt;input type=&quot;text&quot; name=&quot;POLE&quot;...

HTML!? Есть поле ввода Type text, после ввода текста и нажатия entrer теряется фокус, как его оставить в этом же поле?
HTML!? Есть поле ввода Type text, после ввода текста и нажатия entrer теряется фокус, как его оставить в этом же поле?

Как программно изменить цвет текста в поле ввода и как выделить весь текст в поле ввода по умолчанию
Как программно изменить цвет текста в поле ввода и как выделить весь текст в поле ввода по умолчанию? Т.е. надо чтоб по ходу выполнения...

Вставка текста одновременно в 2 окна ввода текста
Добрый день! Помогите, пожалуйста. Есть код: Private Sub CommandButton4_Click() Dim oDataObject As DataObject, hdCW As String ...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru