Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибки в записи кода C#

Влад Кедр Ученик (183), на голосовании 1 месяц назад
Выдает две одинаковые ошибки, не могу понять в чем дело.
Имя "txtNote" не существует в текущем контексте.
Имя "txtNote" не существует в текущем контексте.
Дополнен 2 месяца назад
Вот код Если я не объявил переменную, то как это сделать?
Дополнен 2 месяца назад
using System;
using System.Collections.Generic;
using System.Windows .Forms;

namespace MyNotebook
{
public partial class Form1 : Form
{
// Список для хранения заметок
private List<string> notes;

public Form1()
{
InitializeComponent();
notes = new List<string>();
}

// Обработчик кнопки "Добавить запись"
private void btnAddNote_Click(object sender, EventArgs e)
{
string note = txtNote.Text; // Используем имя txtNote
if (!string.IsNullOrEmpty(note))
{
notes.Add(note);
txtNote.Clear(); // Очищаем поле ввода
UpdateNotesList();
}
else
{
MessageBox.Show("Пожалуйста, введите текст записи.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

// Обработчик кнопки "Удалить запись"
private void btnDeleteNote_Click(object sender, EventArgs e)
{
if (lstNotes.SelectedIndex >= 0)
{
notes.RemoveAt(lstNotes.SelectedIndex); // Удаляем выбранную запись
UpdateNotesList();
}
else
{
MessageBox.Show("Пожалуйста, выберите запись для удаления.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Дополнен 2 месяца назад
// Обработчик кнопки "Редактировать запись"

private void btnEditNote_Click(object sender, EventArgs e)

{

if (lstNotes.SelectedIndex >= 0)

{

string newNote = txtNote.Text; // Используем текст из TextBox

if (!string.IsNullOrEmpty(newNote))

{

notes[lstNotes.SelectedIndex] = newNote; // Редактируем запись

txtNote.Clear(); // Очищаем поле ввода

UpdateNotesList();

}

else

{

MessageBox.Show("Пожалуйста, введите новый текст для записи.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

else

{

MessageBox.Show("Пожалуйста, выберите запись для редактирования.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}



// Обновление списка записей на форме

private void UpdateNotesList()

{

lstNotes.Items.Clear(); // Очищаем ListBox

foreach (var note in notes)

{

lstNotes.Items.Add(note); // Добавляем запись в ListBox

}

}



// Обработчик события закрытия формы

private void Form1_FormClosing(object sender, FormClosingEventArgs e)

{

// Можно добавить сохранение записей в файл, если нужно

}

}

}
Дополнен 2 месяца назад
Очень нужна ваша помощь!!
Голосование за лучший ответ
Gu Gu Ученик (167) 2 месяца назад
а код, мы не экстрасенсы
Андрей Панарин Искусственный Интеллект (276024) 2 месяца назад
Где-то в коде у вас используется переменная txtNote, которую вы не объявили.
Андрей ПанаринИскусственный Интеллект (276024) 2 месяца назад
Вижу, что класс объявлен как частичный (partial).
Это обычное дело для классов форм в C#.

Предлагаю вам перейти в редактор форм, найти поле, которое вы считаете как txtNote, и посмотреть, как это поле называется на вашей форме на самом деле.
Jurijus Zaksas Искусственный Интеллект (473730) 2 месяца назад
Значит, как-то по-другому называетдся твой текстбокс, проверь.
S.H.I. Оракул (74164) 2 месяца назад
Вам нужно:

1. Открыть дизайнер формы (двойной клик по Form1.cs в обозревателе решений)
2. Перетащить TextBox из панели инструментов на форму
3. В окне свойств (F4) изменить свойство Name на "txtNote"

То же самое касается и lstNotes - это должен быть ListBox для отображения заметок.

Если вы хотите объявить элемент программно, добавьте в конструктор форме после InitializeComponent():
 txtNote = new TextBox(); 
txtNote.Location = new System.Drawing.Point(10, 10);
txtNote.Size = new System.Drawing.Size(200, 100);
this.Controls.Add(txtNote);
И не забудьте объявить переменную в классе:
 private TextBox txtNote; 
Похожие вопросы