C# funkce pro vložení objektu do Forms.WebBrowser   otázka

C#, WinForms

Dobrý den,

pracuji na wysiwyg editoru, ze kterého odesílám maily ve formě html. A potřeboval bych vědět, jakým způsobem se dá odchytit tato událost: Např. z plochy vemu soubor obrazek.jpg a přetáhnu ho do programu (Forms.WebBrowser)...

Už mám odchycené kopírování vložení atd., ale tohle přetažení ne..Máte někdo nápad jak to odchytit?

Děkuji předem za odpověď.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Na komponentě (control) kde chcete přijmout drag&drop nastavte

AllowDrop = true;

a pro zachycení událostí použitejte event handlery začínající slovem Drag. Zejména DragEnter a DragDrop.

Následuje ukázka, kterou jsem našel na netu.

public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
      this.AllowDrop = true;
      this.DragEnter += new DragEventHandler(Form1_DragEnter);
      this.DragDrop += new DragEventHandler(Form1_DragDrop);
    }

    void Form1_DragEnter(object sender, DragEventArgs e) {
      if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy;
    }

    void Form1_DragDrop(object sender, DragEventArgs e) {
      string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
      foreach (string file in files) MessageBox.Show(file);
    }
  }

Pro víc info doporučuji samozřejmě MSDN.

A na závěr upozornění: jsou tam problémy s právy. Pokud Vám VS normálně běží s Admin právy a spustíte aplikaci pomocí F5 nebo Ctrl+F5, pak nebude registrovat přetahování z procesů, které neběží s admin právy.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback