#c# #winforms #datagridview #textbox
#c# #winforms #datagridview #текстовое поле
Вопрос:
Я работаю над Windows WinForm. Мне нужно предотвратить дальнейшее редактирование текстового поля, а также столбцов внутри DataGridView.
Я хочу, чтобы все это происходило только в том случае, если функция возвращает значение true.
Это то, что у меня есть до сих пор:
public static bool isAuthSuccess = false;
Комментарии:
1. Я только что удалил слово webform из текста вопроса, поскольку все остальное указывает на то, что это winforms.
2. Итак, вы хотите установить для текстового поля и некоторых столбцов DataGridView значение только для чтения на основе возвращаемого значения функции? Что вызывает запуск этой функции? Предоставьте некоторый код, чтобы показать, что у вас есть на данный момент.
3. общедоступный статический bool isAuthSuccess = false; Это то, что я объявил в переменной части
4. Если (isAuthSuccess) …. Я хочу предотвратить дальнейшее редактирование текстового поля и сетки
5. Где вы устанавливаете isAuthSuccess — почему вы не можете просто установить текстовое поле и столбцы только для чтения там?
Ответ №1:
//if function() returns true
if(function())
{
textbox1.ReadOnly = true;
datagridview1.ReadOnly = true;
}
или с вашей переменной:
if(isAuthSuccess)
{
textbox1.ReadOnly = true;
datagridview1.ReadOnly = true;
}
Это все, о чем вы просите? Это позволит вам просматривать, но ничего не менять. Просто верните им значение false, когда захотите отредактировать снова.
Комментарии:
1. Я попробовал этот ответ… Но дело в том, что в моем datagridview есть полосы прокрутки для it..so когда я сделаю его доступным только для чтения.. что на самом деле происходит, так это то, что полосы прокрутки не служат своей цели … я хочу, чтобы полосы прокрутки datagridview функционировали должным образом .. даже если это сделано только для чтения —— @Yatrix
2. Действительно? Вы уверены, что не отключили его? Я только что протестировал это, и он прокручивался нормально.
Ответ №2:
Если вы хотите предотвратить дальнейшее редактирование, я предполагаю, что пользователь будет редактировать его, и когда они закончат, вы хотите проверить состояние на соответствие этой функции.
Если это так, то вы можете вызвать эту функцию при проверке, проверив текстовое поле и datagridview.
Эта ссылка может помочь вам в случае с winforms.
Комментарии:
1. Вопрос касается winforms, а не webforms
2. Или, по крайней мере, в тегах указано winforms, и в нем упоминается datagridview — просто редактировал вопрос и заметил «веб-формы»
3. В нем говорится, что веб-форма Windows … которая, как я предполагаю, не является winforms.
4. Да, трудно быть уверенным — однако теги и элемент управления datagridview указывают на winforms. Я предполагаю, что веб-форма в тексте вопроса неверна.