C# Aplikacja sprawdzarka kodów w bazie, problem z popupem

0

Cześć, napisałem prostą aplikację, która pobiera kod kreskowy z portu com i sprawdza czy dany istnieje w bazie danych i jeśli tak to go podaje do "SendWaitem"aplikacji "SubiektGT". Program ten ma buga, który już zgłaszałem do ich działu programistów. Problem polega na tym, że dana aplikacja ma informować o braku towaru. Chciałem to rozwiązać Beepen, jednak na stanowiskach jest on ledwo słyszalny. Zrobiłem POP-up window ale niestety nie pojawia się on na Topie. I tutaj pytanie do Was, jak zminimalizować pozostałe okna, albo jak zrobić żeby właśnie to okno było na samym Topie?

try
            { 
            if (baza_win.dane_istnija(sql))
                   {

                   // MessageBox.Show("Nie udało sie w klawisz :(");
                    SendKeys.SendWait(indata);
                    SendKeys.SendWait("{ENTER}");
                    SendKeys.SendWait("{ENTER}");
                }

                else
                {

       
                 Console.Beep(800, 1500);
                 MessageBox.Show(new Form() { TopMost = true }, "Brak towaru!");

                }
            }
            catch
            {

                      MessageBox.Show("Nie udało sie w baze :(");

            }
0

Sprawdź dokładnie na dokumentację funkcji https://msdn.microsoft.com/pl-pl/library/cked7698(v=vs.110).aspx, jako pierwszy argument przyjmuje ona okno-rodzic, więc powinieneś podać tam referencję do Twojego głównego/aktywnego okna, a nie tworzyć nowe okno, które nie jest nigdzie wykorzystywane.

0

Jakiego buga w Subiekcie zgłaszałeś do Insertu?

Możesz zrobić swoją formatkę z informacją i wtedy użyć metody BringToFront()

0
hipekk napisał(a):

Jakiego buga w Subiekcie zgłaszałeś do Insertu?
Tego że po wpisaniu kodu, którego nie ma w w bazie tekst zostaje on automatycznie zaznaczony. Co skutkuje tym, że jak jest kasowanych wiele towarów możesz nawet nie zauważyć, że danego towaru nie było w bazie. Jego kod Ci się zaznaczy, a Ty kasujesz kolejny towar, który zastępuje zaznaczony kod. I taki towar jest wydawany za darmo. Dlatego zrobiłem aplikacje, która sprawdza czy kod istnieje w bazie i dopiero później go wrzuca do subiekta

Kasjer bierze towar nr1

  1. Odczyt towaru czytnikiem.
  2. Kod wkleja się do subiekta na okno paragonu.
  3. Kod nie występuje w bazie, więc subiekt nie uzupełnia pozostałych pól okna danymi bo ich NIE MA. Nie wyrzuca żadnego komunikatu ani nic. I zaznacza kod który był wklejony.
    Kasjer bierze towar nr2, nie spojrzał na monitor komputera. Nie widział, że towaru nie było w bazie,
  4. Odczyt towaru czytnikiem.
  5. Kod wkleja się do subiekta na okno paragonu, w miejsce zaznaczone elementu czyt kod towaru nr 1.
  6. Kod1 zastepuje kod2.

Nie została zarejestrowana sprzedaż towaru nr1

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.