Tab Control in Winforms take time to load different tabs - c#

I'm not good with customization of controls. However in my application I started using a customized tab. My customized tab didn't work. So I went on with using KRBTabControl. In my application I have used panels which are further placed in the individual tabs named Home,Reports,Settings. Everything works fine. But the issue that I face is that there is a delay in loading the controls when I click on various tabs. The controls placed inside the tab doesnt load properly.
Ex. If from Home I click to Settings. All the controls such as labels and button take a second to load. Which just seem awkward. I also tried double buffering the Form but still there is a delay. Is there a way using which I can make all the controls visible at the same time as soon as a new tab is clicked.
Any help would be really appreciated.

Related

Can't see a button in designer

I'm on Windows 10, maintaining a C# Desktop application using Visual Studio 2019, putting controls onto a Form (System.Windows.Forms.Form). I'm attempting to change an application; reworking where the controls go etc., so there is code and control design that I want to keep and put into different locations. I am using the visual designer and connecting to code using the control events (as opposed to creating the forms dynamically).
I have Document Outline visible on the left; I cut several groups of controls I intend to paste back later, so all that one particular TableLayoutPanel has in it now is two buttons. But I cannot find those buttons in the designer. I can see them in the Document Outline; they're in a TableLayoutPanel (in a group box in another TableLayoutPanel on a TabPage, etc.). When I click on a control in the Document Outline, the corresponding control is usually highlighted in the View; however, when I click on either of these buttons, nothing is highlighted in the view.
I tried resizing the Form (which determines the sizes of all these panels/tableLayoutPanels set to 'fill'); it's currently at 1367,850; one of the button locations shows as 664,752, but I don't know in what coordinate system that applies. I tried manually setting the location to 50,50 in the properties window, but it won't let me change that there.
These buttons appear at the bottom of the form; they've never appeared there, but I've noticed sometimes the designer has shown dotted-line outlines of them outside the form entirely. They appear in place when the application is run.
I've tried changing between the 100% scaling and the 125% scaling; that didn't help. For two buttons, I suppose I could delete them and recreate them, but there are many, many controls on this UI, and if there's some trick to making things appear I'd like to know about it.
Is there a trick to this that I'm missing?

App has too many tabs opened in the task-bar

I'm making a WinForm app in C# (Visual studio) for fun. I came across a low-priority problem. It doesn't affect how the app works. But...
On the starting page, I have a button to open a Form1, inside Form1, there's a button to open a Form2 and so on.
At runtime, when I open a form, its parent form does not close and every form is a separate tab in the task-bar. As the layers grow, I'll have more-than-acceptable amount of tabs down there...
Is there a way to have only 1 tab?
I've tried:
Adding a parentForm.close() line when opening the form, but that was bad.
Instead of creating another form, putting everything in a panel, and bringing out another panel using code, but if there are too many layers, the code gets ridiculously long.
There has to be a simpler way right? Please shed some light.
Yes, you have a property in every form called ShowInTaskbar which is true by default. You can change that in the form properties under Window Style section or changing it by code manually:
Form2.ShowInTaskbar = false;
Form2.ShowDialog();
Configure to false all forms but the first one in order to achieve your desired behaviour.
Make sure your opened forms are dialogs or you are put them on top so user can never get in the situation where the form is behind and they cannot close it.
Anyway, with a proper form parenting configuration (if it fits your needs) you won't need this, as children forms won't appear in the taskbar.
If a form is parented within another form, the parented form is not displayed in the Windows taskbar.
Make sure you check the MSDN Documentation about this.

Update user control on Main Window from Page in another solution

Ok, I'm being really thick here and am having a few minor issues which are turning into major ones in my head:
I have a MainWindow that houses a tab control into which I have several "apps" sitting which all have their own solutions. I have built a neat "loading" control which is housed in the main window but is hidden and is only displayed when one of the displayed pages has a button clicked. However, I don't seem to be able to access the user control from the page.
As an example, I have an admin page which controls users in a database which wotks fine. When I click on the submit button I want to make the user control visible on the MainWindow and when the function is finished to hide the control. I know how to unhide and hide the control just not how to access it. I have attached a representation of the file structure below so you can see the issue I have accessing the MainWindow in the main solution from say the pageAdmin.xaml.
I have been googalizing this for a while and can't seem to find a solution that works. Can anyone point me in the right direction? I am open to any suggestions about how to handle this.
Andy
Just to be sure: what do you mean with "apps"? Do you have one WPF application which hosts different components?
Maybe PRISM (Microsoft Framework) is interesting for you. In PRISM you can dynamically load components from different dlls and host them in one WPF application. It has a build in messaging framwork which works very well and the diffetent dlls don't need any references among themselves.

C# Form with buttons and dynamic forms beside those buttons

I am using Windows form in C# and i am trying to create one single form dialog that will be responsible displaying other dialogs within the boundary of it's dialog. To do that i tried Tab Control and it worked well and i can create different types of form in tab control easily without opening any separate forms.
but the problem is i don't want to use Tab control , I have some buttons on the main form at left side and clicking those buttons i want to display separate forms beside those buttons. I searched google but did not find any example like that nor i am able to find any control as this. My application is very simple one dialoge with left side buttons and on right side i want to show different forms based on those buttons... C# is not my native language but now i have to work on it and require help.
Kindly check the attached image for more information
Each page could be an instance of Panel, then show/hide the Panel instances according to which button is clicked....make them all the same size, shape, and position ;)

Using a tab control, is it possible to dynamically load multiple tabs at runtime while maintaining state of each tab?

The functionality I'm looking for is similar to a web browser with tabs.
The main site navigation would consist of typical links. When a link is clicked, a tab is dynamically loaded with that pages content. The user can add multiple tabs by clicking navigation links.
If they begin filling out a form on one tab, then switch tabs and come back, the form data should still be there.
The tab controls I've looked at (DevExpress, AJAX tab control) don't allow this, or don't maintain tab data when switching from tab to tab. The tab control is regenerated with every post back.
Maybe I am over thinking this and there is a simple solution. Any ideas? I can use DevExpress controls, jquery, or regular asp.net controls.
Thanks!
Kevin

Categories