S
S
Sapun4ik2015-10-05 14:19:11
C++ / C#
Sapun4ik, 2015-10-05 14:19:11

How to make c# WinForm client side resizable interface?

Good time of the day.
It is necessary that the program administrator could add a new label, text field, image, mb even a form. (Modify interface). After that, all changes were applied to all users.
In fact, there should be a program for working with the database, and an ordinary user could add a field, form a request, and enjoy life =)
Please tell me if you have any thoughts on solving this problem.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
S
Stanislav Makarov, 2015-10-06
@Nipheris

> Please tell me if you have any thoughts on solving this problem.
There is an idea to put the task more specifically. Understand what these "fields" are that can be added, what entities these fields will be bound to, what requests will be made to these fields, whether the fields will be global for all users, or whether they are different for each user and are not visible to others.
> It is necessary that the administrator of the program could add a new label, text field, image, mb even a form.
I'm not sure that you really go to the program administrator to allow such actions to be performed, because. he will gradually turn into a programmer. Sooner or later (and most likely sooner) clients will also want to add logic to forms, they will ask for a language for this, and will completely turn into programmers.
I present the solution to your problem as a mini-IDE + shell for working with the database (it's not clear, by the way, which is better - SQL or, for example, documentary) in one bottle. In general, such solutions exist and make sense - just remember about 1C with its configurations and development tools, or, for example, about Lexeme. However, I'm not sure what you want and can get such a solution, since you ask such a question). It still seems to me that your problem is more private, and the desire to give the administrator the opportunity to rivet molds is an acute lack of a well-developed technical task and / or your client’s unwillingness to pay you later for the development and technical support of the product, which results in an attempt to shift routine tasks (these same "new fields", "new forms and labels" and other things) for cheap personnel. In general, this makes sense, but to organize it, you need quite a lot of start-up costs.

S
Sergey Kuzmin, 2015-10-21
@Flashmond

1) Add tables to the database that are inaccessible to users, but only to the application. Place the required fields of the components in the tables. When the application is launched, load the description of the components from the database and generate them.
If more implementation of methods is required, read about code generation.
2) Update the application. When the application starts, it checks which version is being used. If not the latest, update. You can read about the update on Habré.

M
MonkAlex, 2015-10-22
@MonkAlex

The very idea of ​​adding a control is simple.
But the interaction of the control with the rest or with the base will immediately break all the fun for you, because without a well-thought-out architecture, none of this can be done on the knee.
PS: so I wouldn't do what you're asking at all.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question