Member 12370240 Ответов: 1

C# как сохранить добавленную кнопку в настройках пользователя


Я создал winform с несколькими кнопками на панели flowlayout. Я хочу добавить новые кнопки и удалить существующие кнопки в панели flowlayout и сохранить их в настройках пользователя, поэтому в следующий раз, когда я запущу приложение, я хочу увидеть изменения кнопок, внесенные в winform. Есть идеи, как это решить?

Что я уже пробовал:

Я искал в интернете, но не могу найти ничего о кнопках и о том, как сохранить их в настройках пользователя при добавлении. я нашел решения по тексту этикетки и названиям кнопок.

1 Ответов

Рейтинг:
6

OriginalGriff

"Кнопки" не могут быть сохранены - это элемент управления, и большая часть информации о кнопке, которая заставляет ее работать, создается заново для этой конкретной кнопки каждый раз, когда она добавляется в ваше приложение.
Вы можете хранить информацию о кнопке: текст, порядок и некоторые указания о том, какие события добавить к ней, но вы не можете просто "сохранить кнопку", а затем волшебным образом "перезагрузить" ее - вы должны использовать сохраненную информацию, чтобы создать новую кнопку и добавить ее в свою коллекцию, точно так же, как вы делаете в тот момент, когда пользователь запрашивает новую.

Фактические механизмы хранения данных многочисленны и разнообразны: XML, JSON, текст, настройки конфигурации, файлы cookie, базы данных, локальное хранилище и многие другие - или даже комбинация нескольких - в зависимости от того, как ваше приложение работает в данный момент и в какой среде оно работает. Например, веб-решение будет сильно отличаться от версии Windows Forms.


Member 12370240

Спасибо, что ответили. Можно ли хранить информацию о видимости (True/false) для кнопок? Или это тоже контроль?

Как я могу найти и манипулировать сохраненной информацией в существующей коллекции?

OriginalGriff

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