I am using a MenuStrip in my application like this:
Private top_menu As New MenuStrip
Private menu_item_file As New ToolStripMenuItem("File")
and I add items to the menu like this:
With top_menu
.Items.Add(menu_item_file)
End With
With menu_item_file
.DropDownItems.Add(sub_menu_item_show_all)
.DropDownItems.Add(sub_menu_item_show_reg)
End With
The menu drops down and it has a shadow (by default). It works fine in Windows7, but when I test it in XP, the shadow remains after the user moves away from the menu (or clicks the item). I can't figure out what is causing this. The menu continues to work fine and drops down every time the user hovers over it, but the shadow never goes away. The menu does drop down over an existing panel which has a picture in it, but I don't think that is causing this behavior.
It's some kind of bug in Win XP. Only appears when you have set your picture to your bacground. Cured by turning off shadows in Win XP.
http://www.codeproject.com/Articles/19277/Let-Your-Form-Drop-a-Shadow
Related
This is probably behavior by design, but I'll ask anyway -
I call a form from another project dll in my main project. It is NOT Modal (ShowDialog) or TopMost, and I set a variable for the form once it's created ("frm = New ..."), so that I can check when it's already been created (user clicks a toolbar button to create it initially.)
The form displays, fires events etc. all perfectly.
However, if I MINIMIZE the form and then call frm.Show through code to bring it back, nothing happens. The form remains minimized.
frm.Show has no affect and doesn't seem to fire any other events.
The only way to bring it back is to click on the taskbar icon for the MAIN form, which then displays the MAIN form AND the minimized forms (as icons), and then click on the icon for the minimized form.
I've tried various events (.Activate, .Show, .ShowDialog, .Focus) NOTHING will bring the other form out of its minimized state other than physically clicking on the Taskbar MAIN app icon and then selecting it.
Also, the main application is not MDI...
???
Thanks.
normally this should do it as suggested by #jimi
[TheForm].WindowState = FormWindowState.Normal
But sometimes this does not works for some dark reason, so you could use some other methods
form.Show();
form.BringToFront();
if (form.WindowState == FormWindowState.Minimized)
{
ShowWindowAsync(form.Handle, 9); // 9 = SW_RESTORE
}
I am sure there is one of these that will fix your problem
Referencing this question:
How to flash/blink taskbar icon in vb.net?
I am aiming to do the opposite and stop the taskbar icon from flashing.
My big attempt has been to override OnNotifyMessage
Protected Overrides Sub OnNotifyMessage(m As Message)
'MyBase.OnNotifyMessage(m)
End Sub
This however seems to mess with my placement of the forms, seems to prevent processing of Top Left commands from executing.
Still, no solution to this particular problem but my workaround was to hide the toolbar icon and create a tray icon instead. Not the ideal solution but at least don't have to see that annoying blinking every time, I activate or deactivate an app.
In my application when it is iconized in the system tray, and through a ContextMenuStrip1 displays a context menu and when I click the icon I can choose what to display; the application, close it etc.
Now, when the mouse is over the icon I would like to show a tooltip (property that unfortunately does not have, but that have the individual menu items), it always shows me the name of the menu object: ContextMenuStrip1, even in its text property set something else.
Since at some times the app makes updates in background I would like to show under the icon a small progressbar as do some application. How is this possible in vb.net? (I'm using VB2012)
Thank you all.
I resolved you need to use the Text property of the notifyIcon object.
I can't seem to get the Open Panel's New Document button to work. Currently I am just using the default application provided Open Panel (iCloud enabled OS X app) which has a New Document button at bottom left of the window.
However I just get a system beep when I click on it, I would expect this button would do the same as File->New menu option but it does nothing other than beep.
How can I either enable this button to simply create a new blank file or remove it altogether.
Finally I figured it out.
It seems the New Document button is somehow hardware to the CMD+N keystrokes. I had reassigned CMD+N to apply Normal style to text and this breaks the New Document button.
Seems odd that the button is not wired to newDocument method on First Responder rather than to a keystroke combination.
EDIT
I logged a Bug ID# 14886108 and it seems it may be fixed in Mavericks
I have a program which runs mainly though a NotifyIcon in the bottum right of my windows screen (XP). Whenever I open the ContextMenuStrip that appears when the icon is right clicked, a box also appears in the task bar. I also have nested menus inside the menu (mouse over one item leads to another menu), and each additional menu also creates a taskbar box upon appearing. So once I am at the third or fourth nested menu, there would be 3 or 4 windows appearing in the taskbar. After the menu disapears, so do the windows in the taskbar.
How can I stop the taskbar from displaying boxes to represent these menus? I have done nothing in my code as far as I know to create this type of behavior. I have searched for similar problems but have found nothing similar. There is no "showintaskbar" property for these items as far as I can see, and no other property that I can find which would affect this. I have investigated the owner of the contextmenustrip since I read the owner may effect these type of behaviors, but that doesnt seem to be helpful as there isn't an owner property of the contextmenustrip.
I don't know what else to search for, so I am here hoping someone can give me a clue as to what else may effect this type of behavior.
Any help is greatly appreciated. Thank you!
If you are using the ContextMenuStrip.Show() method, it will display in the taskbar as you describe. Try assigning your menu to the NotifyIcon.ContextMenuStrip property instead.