I got to have a tabular control that will contain cells hosting different controls across columns. Each column will host same control. For e.g., all cells in column 1 will contain control type Label.
Among those controls, few are extension of predefined controls such as label and textbox while few are user defined controls.
As a first choice I opted DGV as hosting control.
I went through all MSDN documents and took help from google as well to learn things available with DGV. I made custom DGVControl and respectively the columns to host those controls.
This was a lengthy work and messy too at first. It took nearly a month to build DGV with my requirements. Somehow I achieved 80% of required functionality and rest 20% seems to be difficult for me since there are hundreds of lines of code for making hosted control cooperate with the business model and also satisfying basic DGV control's properties.
Then I decided to not to use DGV since it might not be scalable in future.
As a 2nd choice, I decided to use a TLP(TableLayoutPanel).
I extended basic TLP in my class and added methods required.
Hosting controls in TLP is much easier than that of DGV. It took just 3 days to build it as required.
Somehow, TLP takes considerable time to Paint itself. Since, there is no built in function to remove a specific row in TLP, I deleted controls from required row manually and shifted all rows below it to one row up. With just 20 entries, TLP takes nearly 1.5 seconds to repaint itself.
For code, there are no loops that are working for too long, neither there are any heavy background thread that can cause this.
I guess TLP is not made for the functionality I need. Its just a panel to layout controls on form for proper UX.
I am stucked what to use for this very purpose. Please guide.
What I have tried:
Spent lots of time making DGV and TLP work as required but no help.