vb.net NotifyIcon to show a notification without a balloon - vb.net

I have a program set up that causes a NotifyIcon to appear by the clock under certain conditions, and then disappear under other conditions, using NotifyIcon1.visible = True/False and using the Taskbar properties in Windows to set it's behavior to "Show icon and notifications". But, when it's invisible, I can't see if it's running without opening up Task Manager.
I'd like to be able to switch between having the icon show next to the clock and having it hidden with all of the other icons (the way other programs do when you select "Only show notifications"), but I can't figure out how to do that without using a balloon tip.

Related

How to keep MS Access Forms only in the MS Access Window/Canvas?

I have created my MS Access Program but I have multiple monitors and so do the other people who will be using the program.
Just so you know my forms are popup style, have no borders or record selectors and I am guessing this is where my issue comes in.
I would like to know if there is a way to ensure that when a user opens a form, the form will only open within the MS Access Window/Canvas on the active monitor?
I would also like to know if there is a way for my application to automatically adjust according to the users screen resolution?
As an example my Forms open perfectly when I am using the application on my main screen which has a resolution of 3840 x 2160 but if I open the application on my second screen which has a resolution of 1920 x 1080 the forms that open subsequently, such as the user form, then opens on the main screen so small that no one can read or see it.
Application is on Right monitor and User Form is Open on Left (Main) Monitor
The code I have used for the OnOpen Event is below:
Private Sub Form_Open(Cancel As Integer)
Dim Right As Integer, Down As Integer
Right = Screen.ActiveForm.WindowLeft
Down = Screen.ActiveForm.WindowTop
DoCmd.MoveSize Right, Down
End Sub
This was obtained from some research but I cant seem to bind everything to the Application Window/Canvas.
Thank you.
Well, if you only ever have one window open at one time, then you can do this with ease.
Remember, today most applications are SPA (what we call single page applications). We don't use (nor have) very often a main applcation window, and THEN a child window. For one, they tend to not be touch friendly, and it is VERY hard to move a window around with touch.
but, even desktop browsers even use some "kind" of tabbed interface. And so do most desktop applications. And by tabbed - I don't necessary mean across the top. This access screen shows a tab system from the left side:
So, Access now has a option to use tabbed interface.
And if you :
do NOT use pop windows.
Set access to use tabbed interface, eg this:
Then un-check the display tabs.
If you do above, then you WILL NEVER EVER see the access background window.
You see this:
However, keep this in mind:
The form you launch will re-size to the main size of the Access window - not the other way around.
All forms can't be popup
You are "SPA" like applcation.
So, most accounting and most desktop applications now work this way. And WHEN you launch a form, the window does not re-size tot he form, but remains the current applcation window size.
So, without ANY specials code, you can 100% hide the access background window.
And if you re-size the access application window, then the form will re-size to fill out the current form.
This might look quite bad in some cases - such as this:
Now for above, I on purpose made the form background green - just to PROVE and show that that Access background window NEVER will display with above options.
So, the main issue here?
You can 100% hide the access background window. And you can now do this WITHOUT specials code. Just a few settings.
On startup, you can hide the ribbon - or build a custom one - again your choice.
But, your forms MUST NOT be popup forms anymore.
So, hiding the access background window is very easy - it then becomes a question of form size - size forms re-size to application window size - not the other way around.
On the other hand, if you adopt a tabbed interface (accross the top or left side), then your main window is always in display, and you are in effect swapping out the form (a sub form) for display of that given form. You can write your own code, or use a new navigation form - which does this for you).
If you need to launch separate windows, then you could launch them as popup from this main form - but that main form will of course always hide the access background if you follow above.
If you wish to hide the ribbon, then on your main form - load event, you can add this code:
DoCmd.ShowToolbar "Ribbon", acToolbarNo
So, your main form (which hides access background) could be tabbed inteface (SPA) or it could be a launcher form, and each option clicked on could launch a form as popup - which can be dragged anywhere on your computer - including to the 2nd monitor if you wish.
So, either forms stay always in the main applcation window - but never see the background. Or you use above, and launch forms as popup.

Textbox cursor focus is not happening sporadically in UWP application

We have UWP application which has more than 200 pages and Have Templated Control for TextBox which is extended the TextBox control. We have customized most of the controls, Textbox, ComboBox, RadioButton, etc..
We are getting an issue sometimes as The cursor is not visible, but able to type, also not able to capture the Control GotFocus event as well.
The UWP application is running in KIOSK mode (using shell Launcher V2).
When we got know this issue and trying to remote the system and verifying it, the cursor focus is working good.
The application has lock concept, when the system is idle for an hour, the software (UI UWP application) got locked automatically. The Lock window is a dialog. So far it was occurred 5 to 6 times, most of the time issue happened after we unlock the application.
(We have created custom dialog control (container) which is as part shell page elements and display the pages as dialog, here we were facing one issue, the tab focus is going background when the dialogs are open, since the parent element is in the shell level, so that we are disabling the background controls when any dialog opens and enabling the background controls when the dialogs are closed. We have more suspicious in this area. But sometime it happen when navigate one page another page as well.)
Also we have Global event to launch the keyboard whenever the TextBox control focused, FocusManager.GotFocus+=.. (but we didn't see any exception in this event method)
Any suggestion?

Form from external DLL does not Show after being minimized

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

Showing Tool-tips while Application is in the System Tray?

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.

Flickering Task Bar on Full Screen Windows Mobile 6 Apps

Just finishing off an update to an application written in VB.NET that used to run fine under CE.NET 4.2. Deployment platform is now Windows Mobile 6.1.
The application runs in full screen, however whenever a new form is opened, the task bar, i.e. the bar with the start button comes to the fore and then the new form takes over. This is particularly annoying as I have a form that has many sub forms which are 128,128 and still the task bar flashes and obscures part of the user input screen.
Has anyone comes across this? Any known workarounds?
You can use the technique I posted here to disable the task bar.
I assume your application flow is something like:
Form 1 open.
Form 1 close.
Form 2 open.
The problem is that between the Form 1 closing and the Form 2 opening the background window may be partially drawn (e.g. the task bar will draw).
To work around this we normally create a parent window (which is your case is full-screen window) which sits behind the form windows. That way when one is closing and the next is opening it falls back to displaying the parent window which can display anything you like (blank?).