[C#] Jednocześnie konsola i okno

1

Witam

(tak się streszczę) Mam w tej chwili problem - w swojej aplikacji konsolowej zamierzam użyć okienka (albo okienkowej użyć konsoli, bo to okno jest raczej ważniejsze) - i mój problem polega na tym że nie wiem w jaki sposób sprawić żeby obydwa mogły mieć "focus".

Application.Run(okno) raczej odpada bo okno tylko prezentuje dane a działania odbywają się poza.

okno.Show() byoby ok, tylko że wtedy konsola błyskawicznie znika (logiczne), a dodanie do konsoli Read() skutkuje zablokowaniem okna.

Myślałem jeszcze nad wątkami ale to już straszne kombinowanie, nie da się tego załatwić prościej?

Jeśli ktoś mógłby mi pomóc byłbym bardzo wdzięczny [soczek]

0

a po co ci i konsola i forms
moze przekieruj strumienie konsoli
Console.SetError
Console.SetIn
Console.SetOut
na takie ktore ci odpowiadaja
lub uruchom 2 aplikacje (procesy) i komunikuj sie miedzy nimi

0

z Formy wywołać konsolę da się korzystając z winapi i allocconsole.
aczkolwiek taka konsola służyła by tylko do celów diagnostycznych bo wywołanie tam jakiegos readlajna zablokuje GUI Form-y

i mój problem polega na tym że nie wiem w jaki sposób sprawić żeby obydwa mogły mieć "focus".

Czy to jest możliwe aby dwa okna naraz miały focus?

0

Żeby mieć konsolę i okno jednocześnie:

  1. utwórz projekt "Windows Forms"
  2. Project|… properties|Output type: Console application.

Jednak jest mały zgrzyt polegający na tym, że konsola będzie na wierzchu. Jeśli chcemy okienko WinForms jako domyślnie aktywne, trzeba otworzyć plik program.cs i linijkę

Application.Run(new Form1());

zastąpić liniami

var form1 = new Form1();
form1.Show();
form1.Activate();
Application.Run(form1);

Nie da się, żeby dwa okna miały focus jednocześnie. Jest to w zasadzie pozbawione sensu.

1

@Azarien - ja robiłem to tworząc aplikację konsolową i dodając okienko, co na jedno wychodzi.

Co do pytań po co mi to: mój program działa normalnie w okienkowym trybie, ale uruchamia zewnętrzne konsolowe programy które mają wyświetlać wynik swojej pracy na konsoli. Można, prawda odczytywać dane z konsoli tych programów i wyświetlać na formie ale po co skoro 'własna' konsola zrobi to samo tylko lepiej...

No cóż, w takim razie chyba zrezygnuje z focusa na konsoli, użytkownicy przeżyją :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1