Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 01.05.2009
Сообщений: 14

Добавление данных в texBox из собственной функции

14.03.2012, 12:30. Показов 1066. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Уважаемые, подскажите пожалуйста, как мне метод (функцию, не знаю как называется тут это) read заставить выводить данные в text box? Меняла у кнопки private на public не помогает. Осознаю, что причина заключается в области доступа, но как сделать правильно не знаю.

Ошибка:
Error 1 An object reference is required for the nonstatic field, method, or property 'ScanSP.Form1.textBox1' D:\Work\SharePoint\ScanSP\ScanSP\Form1.c s 62 21 ScanSP

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.Threading;
 
namespace ScanSP
{
        public partial class Form1 : Form
        {
            
 
            static bool _continue;
            static SerialPort _serialPort;
 
 
            public Form1()
            {
                InitializeComponent();
               
                StringComparer stringComparer = StringComparer.OrdinalIgnoreCase;
                Thread readThread = new Thread(Read);
 
                // Create a new SerialPort object with default settings.
                _serialPort = new SerialPort();
 
                // Allow the user to set the appropriate properties.
 
                _serialPort.PortName = "COM1";
                _serialPort.BaudRate = 8400;
                _serialPort.Parity = Parity.None;
                _serialPort.DataBits = 8;
                _serialPort.StopBits = StopBits.One;
                _serialPort.Handshake = Handshake.None;
 
                // Set the read/write timeouts
                _serialPort.ReadTimeout = 500;
                _serialPort.WriteTimeout = 500;
               
                _serialPort.Open();
                _continue = true;
                readThread.Start();
                readThread.Join();
                
                
            }
 
        public static void Read()
        {
            while (_continue)
            {
                try
                {
                    string message = _serialPort.ReadLine();
                    textBox1.Text = message;    // ------------------ошибка здесь!!!
           
                }
                catch (TimeoutException) { }
            }
        }
 
 
            private void button1_Click(object sender, EventArgs e)
            {
                _serialPort.Close();
            }
       }
}
Заранее благодарна!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.03.2012, 12:30
Ответы с готовыми решениями:

Добавление собственной функции в Lazarus
Подскажите, куда необходимо писать собственные функции в lazarus пишу в procedureButtonClick выдает ошибку SIGFPE

Добавление собственной библиотеки
Привет! Помогите пожалуйста суть такова. Я сделал библиотеку, как опишу ниже. Суть вопроса, объясните пожалуйста по шагам как ее...

Добавление собственной контролки
Есть customusercontrol.xaml, как воспользоваться ею в окне main.xaml?Всё находится в одном namespace и в одном проекте. Гугл не помог

1
118 / 52 / 9
Регистрация: 23.12.2011
Сообщений: 120
14.03.2012, 14:22
В статическом методе нельзя использовать ссылки на конкретные объекты формы, которые не являются статическими. Попробуйте передавать сам текстбокс в метод Read и уже через него записывать сообщение.
Что-то вроде такого:
C#
1
2
3
4
5
6
7
8
9
10
11
12
public static void Read(TextBox tb)
{
      while (_continue)
      {
          try
          {
              string message = _serialPort.ReadLine();
              tb.Text = message;    // используем текстбокс, переданный в качестве параметра           
          }
          catch (TimeoutException) { }
      }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2012, 14:22
Помогаю со студенческими работами здесь

Добавление собственной библиотеки в code igniter
подключаю так $this->load->library('simpleImage'); и вызываю функции ...

Добавление данных в базу данных во время функции printf()
Привет всем! У меня возникла проблема. Задача такая: нужно принять данные с одной таблицы в базе данных и после подтверждения их на...

Считывание математической функции через Texbox
Не представляю, как такое можно реализовать, потом и спрашиваю. Помогите пожалуйста разобраться :) Суть такая: хочу, чтобы введенная в...

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

Поиск по dbf файлу и вывод данных в texbox
есть dbf файл.(картинка) как сделать поиск по файлу и загнать инфу в переменные string city, street, dom, kv; делал...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru