Итак, вот чего я пытаюсь достичь. У меня есть приложение для чата winforms, которое я хочу поставить поверх других приложений, которые являются полноэкранными, я не хочу, чтобы он делал фокус, но я хотел бы, чтобы он принял ввод пользователя в текстовое поле. До сих пор я достиг первой части, и мое приложение для чата остается поверх других приложений, не сосредотачиваясь на нем. Вот что я использовал:Winforms no focus accept ввод клавиатуры
const int WS_EX_NOACTIVATE = 0x8000000;
protected override CreateParams CreateParams
{
get
{
CreateParams ret = base.CreateParams;
ret.ExStyle |= WS_EX_NOACTIVATE;
return ret;
}
}
public Form1()
{
InitializeComponent();
TopMost = true;
}
Теперь проблема в том, что я ничего не могу написать в текстовое поле. Все кнопки работают нормально, я могу щелкнуть их, и они запускают события, но текстовое поле не принимает никаких данных.
Попробуйте добавить 0x00000080 флаг, который WS_EX_TOOLWINDOW –
Еще не принимает никакого ввода – JanRad
я хотел бы сказать, что вам нужно активировать фокус окна. Как вы могли писать текст, если у него не было сосредоточено текстовое поле? –