Current filter:
                                You should refresh the page.
                                Support Center
                                0
                                  • We have found a bug that looks very similar to a previous one reported by someone else that you have closed:

                                    https://www.devexpress.com/Support/Center/ViewIssue.aspx?issueid=DB40180&searchtext=ShowInTaskBar&pgid=ecb3be56-c75a-4166-aa68-cb462cd2dd2b

                                    We are also using a docking manager and docking controller and our taskbar icon is either not appearing on startup or is somewhat randomly disappearing during the programs lifetime. The icon is reinstated if you Alt-Tab to it. The first of these issues is clearly shown in the sample provided. To reproduce:

                                    1) Start the project
                                    2) See the missing icon in the taskbar.

                                    I note that if I click on the main form (as opposed to the floating panel) the icon suddenly does appear. I don't know if this is related.

                                    Steps to Reproduce:

                                    1) Start the sample project attached

                                    2) See the missing icon in the taskbar.

                                    Actual Results:

                                    The icon does not appear in the taskbar when the sample project starts.

                                    Expected Results:

                                    The icon should be visible for the whole lifetime of the application.

                                0

                                I've now found that if I add the following I can get around this in this sample project. Is this something to do with the focus of the main window never being set?

                                protected override void OnLoad(EventArgs e)
                                          {
                                               DockPanel focusedPanel = null;
                                               foreach(DockPanel p in m_dockingManager.Panels)
                                               {
                                                    if(p.Focused || p.Controls[0].Focused)
                                                         focusedPanel = p;
                                               }
                                               if(!Focused)
                                               {
                                                    Focus();
                                                    if(focusedPanel != null)
                                                         focusedPanel.Focus();
                                               }
                                               base.OnLoad (e);
                                          }

                                0

                                Hi,

                                 I have found several solutions which allow# you to easily resolve this problem:

                                1) Add the call of the Focus() method to the form's constructor:

                                <code lang="cs">
                                public Form1()
                                {
                                    InitializeComponent();
                                    m_dockingManager = new DockManager();
                                    m_dockingManager.Form = this;
                                ...
                                    Focus();
                                }

                                OR
                                2) move your code responsible for the DockingSystem management in the form's Load event:

                                private void Form1_Load(object sender, System.EventArgs e) {
                                    m_dockingManager = new DockManager();
                                    m_dockingManager.Form = this;

                                    m_barManager.AllowCustomization = false;     m_barManager.AllowQuickCustomization = false;
                                    m_barManager.Form = this;
                                    m_barManager.DockManager = m_dockingManager;
                                    m_barManager.Controller = m_dockingController;     DockPanel panel = m_dockingManager.AddPanel(DockingStyle.Float);
                                    panel.FloatLocation = this.Location;
                                    panel.FloatSize = new Size(Width, Height);
                                }

                                Thanks,
                                Plato

                                0

                                Hi

                                Firstly please could you explain your resolution that this is "by design"? What was the design decision not to show the icon when the main form is clearly visible and active (and ShowInTaskbar is clearly set to true)?

                                Secondly the approaches you suggest are not going to work. I've tried the first approach and this is not acceptable as yes the icon does appear but unfortunately the floating panel disappears (in general I don't understand why its even necessary to call Focus to make the icon appear!?). The second approach you suggest is in general not going to work as this code could clearly have been generated by the code designer in InitializeComponent() so while your suggestion may fix it your're just storing this problem up for another person to find and complain about.

                                Finally I think you've totally dodged the more important part of this which is that its not just on startup we have this problem. The icon has also been seen to disappear throughout the lifetime of the application. This is definitely not acceptable as it leads users to belive the application has crashed when in fact its just sitting quietly in the background.

                                Thanks,

                                Ewan.

                                0

                                Hi Ewan,

                                I am terribly sorry, perhaps the status for this issue was set incoorectly. The fact is that we do not recommend our customers to create our controls within the form's constructor. It is better to do within the form's Load event. If you do this within a constructor, you should surround the code by the BeginInit / EndInit method calls for ISupportInitialize controls. BTW, the following code also works fine on my machine:

                                [C#]
                                public Form1() { InitializeComponent(); m_dockingManager = new DockManager(); m_dockingManager.BeginInit(); m_dockingManager.Form = this; m_barManager.AllowCustomization = false; m_barManager.AllowQuickCustomization = false; m_barManager.Form = this; m_barManager.DockManager = m_dockingManager; m_barManager.Controller = m_dockingController; DockPanel panel = m_dockingManager.AddPanel(DockingStyle.Float); m_dockingManager.EndInit(); panel.FloatLocation = this.Location; panel.FloatSize = new Size(Width,Height); }

                                I did not notice that the form's Icon disappeared from the taskbar when working in the application if one of the workaround provided was used.

                                It looks like you have not tested the second solution from my previous message. However, if you do this, you will notice that the problem does not exhibit itself if the code is moved to the form's Load event. Please try it yourself and let us know how it is going on your side.

                                I would like to ask you about the steps leading to the problem you have mentioned. I.e. what we should do to force the application to loose its icon in the taskbar.

                                Thanks,
                                Plato

                                0

                                Hi

                                Ok right I've finally managed to get a definitive project together that fully exhibits a wide range of problems. Please run up the sample by doing the following:

                                Test One
                                -----------
                                1) Run the run.bat file in the debug directory. This will start up 18 instances of the application simulteously. What you will find if you look at the task bar is that 9 out of 10 times only a certain number of instances appear (usually 16 or 17 on my box). If you kill the entire group from the taskbar you then find you still have 2 or 3 instances remaining - this is the icon not appearing in the taskbar problem. PLEASE NOTE WE HAVE FOLLOWED YOUR ADVICE HERE ON PUTTING THE LOGIC IN THE OnLoad method and in test one we have the begininit/endinit form and in test two we/you will comment these lines out. Also at no point are we creating controls in the constructor as you have previously advised.

                                There is also another bug that this clearly shows. In this instance we have also wrapped used BeginInit() and EndInit() calls. What we can see is that the one floating panel appears stuck. I.e try to drag the one floating panel and you'll find we can't. Whats going on here?

                                Test Two
                                -----------
                                1) Alter the code by removing all BeginInit() and EndInit() calls.
                                2) Run the run.bat file. You will now find you can move the floating window but you'll find that even fewer items appear in the taskbar.

                                In summary I believe this shows two seperate problems which needs addressing. This is very very similar to out actual production application in terms of startup code so if you can tell us how to fix this we'll probably be making some progress. In summary a fixed version will:

                                1) Allow us to start 18 instances and have all 18 appear in the taskbar.
                                2) Allow us to move any/all floating panels as normal.

                                PLEASE NOTE: the opening of 18 panels is not at all what we'll be doing but I'm trying to illustrate a point in this sample that this does indeed happen in a production environment. If your solution is "Don't open 18 at once" I'm not going to be happy ;-)

                                Thanks

                                Ewan.

                                0

                                Just to save you a small amount of time regarding the icon disappearing part of the problem - you can comment out almost all the code in the previous sample except for the m_dockingmanager = new DockingManager() call. With this in you will see you get the icon disappearing problem. Without it (basically an empty form project) all icons appear ok.

                                Ewan.

                                0

                                Hi Ewan,

                                I already discovered this. Anyway, thank you for the followup. We will investigate it and let you know once a solution to it is found.

                                Thanks,
                                Plato

                                0

                                Any updates on this please?

                                Ewan.

                                0

                                We are working on the fix. Thank you.

                                0

                                Fantastic - its fixed? When can we get the patch?

                                0

                                The patch has been sent to you via e-mail.

                                Thank you,
                                Nick

                                0

                                Hi

                                Thanks for sending us the patch. There are two small problems with it though:

                                1) We use 2003 here not 2005, as my sample shows?, so I can't use the patched dlls.
                                2) We are only using 6.2.2 at the minute and can't move to 6.2.6 easily.

                                For both of these reasons (1 far more important than 2) could you supply the patch as a set of 2003 (.NET 1.1) binaries preferably against 6.2.2?

                                Thanks,

                                Ewan.

                                0

                                Hello Ewan,

                                Unfortunately, the fix cannot be extracted for version 6.2.2, sorry - too many changes have been applied to it. We can provide you with a patch for version 6.2.6 or 6.3.1. Which one of these two versions do you prefer? If you decide to use 6.3, you will be able to install it side-by-side with version 6.2. On the one hand, you will have time to convert your project to v6.3 and thoroughly test it. On the other hand, you will be able to continue working with v6.2. and deliver immediately with a single known issue reported here.

                                Thank you,
                                Nick

                                0

                                Hi

                                Can you confirm or not please whether this patch made it into your official 6.3.2 release? If it did then I regret to say it doesn't work. If it didn't then could you explain why not? I've just tested this problem against 6.3.2 and was very disappointed to see the problem is still there. Also if not then could you supply a patched 6.3.2 version for us to test with again?

                                Thanks

                                Ewan.

                                0

                                Hi

                                Can I please get a response to my question of when this patch is to be applied and made available? This has been outstanding for months now and users are still complaining about this problem.

                                Ewan.

                                0

                                Unfortunately, the patch for 6.3.2 hasn't solved this problem entirely. So, we're still working on a solution for this issue.

                                Thanks

                                0

                                It seems that the problem is caused by the BarManager component. The updated project is attached. We are looking for a solution. Please bear with us.

                                Thank you,
                                Nick

                                0

                                Ewan,

                                We've investigated the problem and found that our components have nothing to do with this issue. We could reproduce the problem with standard controls. Our test project is attached.

                                Thank you,
                                Nick

                                0

                                Hi

                                Right we've just downloaded your sample application and run it on three development machines here in London several times. We have not been able to reproduce the problem using your sample even once - all 18 icons appear in the taskbar every time the run.bat file is fired up. We can however still easily reproduce the problem by adding a bar manager (or a dock manager) to the project by simply dragging from the toolbox window onto the form in visual studio, just as our previous example we gave you shows. What I don't really understand is I thought you had agreed that this was a problem in the XtraBars dll somewhere and had agreed to patch it? I was somewhat surprised (bordering on amazed) to read your latest response in which you claim it is in fact nothing to do with the project (when it evidently and clearly is!)

                                This is getting extremely frustrating as this is a very serious production issue for us as users are continuously calling us to say they've started the application and can't find it (or they've started it and it didn't appear). How can we take this forward from here? This sort of bug if left unresolved will force us to rethink our choice of UI component library which would be a great shame for us both I can't help but feel.

                                Ewan.

                                0

                                Ewan,

                                Well, my Windows XP does not group items at all - neither .NET nor Win32 applications. The "Group similar taskbar buttons" option does not work any longer. However, our developers have demonstrated me the problem with standard controls on their systems. I searched for similar issue reports in the Internet and found this thread which indicates an issue in .NET 1.1:
                                http://channel9.msdn.com/ShowPost.aspx?PostID=134981

                                Please write to Microsoft and inform them about this problem. The problem is that Windows XP occasionally misses applications and does not add them to the taskbar, if the application main form takes a significant amount of time to be loaded.

                                Thank you,
                                Nick

                                If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

                                FOLLOW US

                                DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, Silverlight, ASP.NET, WinForms, HTML5 or Windows 8, DevExpress tools help you build and deliver your best in the shortest time possible.

                                Copyright © 1998-2014 Developer Express Inc.
                                All trademarks or registered trademarks are property of their respective owners