powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как транслировать событие из webbroser control wpf непосредственно в wpf?
14 сообщений из 14, страница 1 из 1
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930254
Ilya Sandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Друзья, помогите решить проблему.
Что есть:
В WPF создан WebBrowser контрол. Он работает нормально.
Теперь нужно:
событие JavaScript (например клик мышли или нажатрие на кнопку) транслировать в C# код в WPF. Как это сделать?
Заранее благодарен.
...
Рейтинг: 0 / 0
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930268
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930297
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya Sandlerсобытие JavaScript (например клик мышли или нажатрие на кнопку)это не "событие JavaScript", это событие DOM.

события DOM можно обрабатывать с помощью js или с помощью с#

чтобы обработать событие с помощью с#, нужно подключить библиотеку Microsoft.mshtml, получить документ из веббраузера после его загрузки и обрабатывать его события.
...
Рейтинг: 0 / 0
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930545
Ilya Sandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое.
Но я новичок в программировании, простите за неправильную формулировку. не могли бы вы привести пример кода, который нужно написать в c#, чтобы поймать событие клика мыши.
...
Рейтинг: 0 / 0
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930707
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya Sandler,

почему вопрос по WPF в разделе WinForms?
Чую, что используется веббраузер из ВинФормс. Нэ?
...
Рейтинг: 0 / 0
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930741
Ilya Sandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, использую wpf :)
...
Рейтинг: 0 / 0
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930752
Ilya Sandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я нашел, что нужно использовать ObjectForScripting свойство у котрола webbrowser, но не знаю каким образом.
Вот мой код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using mshtml;

namespace WPFWebControl
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

private void Window_Loaded(object sender, RoutedEventArgs e)
{
try
{
MyWebBrowser.Source = new Uri(" http://localhost:15536/"); // тут загружается мое приложение на asp.net mvc

//Otherwise for blank you can set it as like below...
//MyWebBrowser.Source = new Uri("about:blank");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

private void MyBack_Click(object sender, RoutedEventArgs e)
{
try
{
MyWebBrowser.GoBack();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

private void MyForward_Click(object sender, RoutedEventArgs e)
{
try
{
MyWebBrowser.GoForward();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

private void MyGo_Click(object sender, RoutedEventArgs e)
{
try
{
MyWebBrowser.Source = new Uri(" http://" + MyTextBox.Text);
//MyWebBrowser.Source = new Uri(" http://localhost:15536/");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

private void MyWebBrowser_LoadCompleted(object sender, NavigationEventArgs e)
{

mshtml.HTMLButtonElementEvents_Event iEvent;
iEvent = (mshtml.HTMLButtonElementEvents_Event)e;
iEvent.onclick += new HTMLButtonElementEvents_onclickEventHandler(ClickEventHandler);
}


private bool ClickEventHandler()
{
MessageBox.Show("WPF Event Handler");
return true;
}

}
}
...
Рейтинг: 0 / 0
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930757
Ilya Sandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код xaml:

<Window x:Class="WPFWebControl.MainWindow"
xmlns=" http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x=" http://schemas.microsoft.com/winfx/2006/xaml"
Title="k3 Call Centre Application" WindowState="Normal" Loaded="Window_Loaded" WindowStyle="ThreeDBorderWindow" mc:Ignorable="d" xmlns:d=" http://schemas.microsoft.com/expression/blend/2008" xmlns:mc=" http://schemas.openxmlformats.org/markup-compatibility/2006" Height="529" Width="731">
<Grid>
<Button Content="<<" Height="23" HorizontalAlignment="Left" Margin="10,5,0,0" Name="MyBack" VerticalAlignment="Top" Width="25" ToolTip="Backword" Click="MyBack_Click" />
<WebBrowser Height="445" HorizontalAlignment="Left" Margin="10,33,0,0" Name="MyWebBrowser" VerticalAlignment="Top" Width="687" LoadCompleted="MyWebBrowser_LoadCompleted" />
<TextBox Height="23" Margin="103,5,12,0" Name="MyTextBox" VerticalAlignment="Top" />
<Button Content="|>" Height="23" HorizontalAlignment="Left" Margin="41,5,0,0" Name="MyGo" VerticalAlignment="Top" Width="25" ToolTip="Go" Click="MyGo_Click" />
<Button Content=">>" Height="23" HorizontalAlignment="Right" Margin="0,5,612,0" Name="MyForward" VerticalAlignment="Top" Width="25" ToolTip="Forward" Click="MyForward_Click" />
</Grid>

</Window>
...
Рейтинг: 0 / 0
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930761
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930768
Ilya Sandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. На будущее буду знать.
...
Рейтинг: 0 / 0
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930776
Ilya Sandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А с задачей что делать. Как вызвать c# метод из браузера?
...
Рейтинг: 0 / 0
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930802
Фотография Малыхин Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930961
Ilya Sandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Этот раздел для Windows Forms, а что нужно сделать в WPF?
...
Рейтинг: 0 / 0
Как транслировать событие из webbroser control wpf непосредственно в wpf?
    #38930981
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ilya SandlerЭтот раздел для Windows Forms, а что нужно сделать в WPF?
Захостить веббраузер из ВинФормс.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как транслировать событие из webbroser control wpf непосредственно в wpf?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]