Ладно, все,
Я поставил себя в тупик, провел последние несколько дней в поисках и поиске решения без удачи.
Запуск последней версии CefSharp, кодирование c # и vuejs. Я могу легко заставить Form1 отображать мою главную веб-страницу через localhost. Настройка и инициализация браузера хрома в порядке. Я могу общаться с веб-страницы обратно на c # через
browser.JavascriptObjectRepository.Register("bBrowser", new JSInterface(), true);
На стороне JavaScript у меня есть следующее
async openStandings(){
await bBrowser.kappsopenStandings().then((result1)=>{
this.filler = result1
return result1
})
},
Приведенный выше код вызывает следующую функцию c # в jsInterfaceclass
public bool kappsopenStandings(
)
{
bool m = false;
Standings S = new Standings();
S.Show();
m = true;
return m;
}
Приведенный выше класс Standings представляет собой форму, которая имеет следующую функцию Load и функцию InitBrowser.
private void Standings_Load(object sender, EventArgs e)
{
this.StartPosition = FormStartPosition.CenterScreen;
InitBrowser();
}
и функцию InitBrowser:
public void InitBrowser()
{
standingsbrowser = new ChromiumWebBrowser(thelink);
Dock = DockStyle.Fill;
this.Controls.Add(standingsbrowser);
Console.WriteLine("Created Window");
}
Итак, что происходит, создается окно турнирной таблицы, и все зависает и зависает.
Теперь, благодаря моим исследованиям, я понимаю, что, когда я звоню с веб-страницы, я не влияю на поток пользовательского интерфейса, который, кажется, где моя проблема.
Если я помещу фактическую кнопку c # в форму и нажму на нее, все в порядке. Я попытался выполнить PerformClick () для кнопки visible = false в Form1 с теми же результатами, что и выше.
Может ли кто-нибудь указать мне правильное направление для создания нескольких winforms, каждый со своим собственным просмотром?
Спасибо,
Kory