Hallo,
ich würde gerne eine Textdatei auf meine Anwendung ziehen, dort über einer Textbox "droppen" und danach dafür sorgen des der Inhalt der Textdatei in meine Textbox geladen wird.
Ich habe zwar den Paramenter "AllowDrop" der Textbox auf "True" geändert aber beim Versuch zu "droppen" wandelt sich mein Mauszeiger immer in "hier nicht möglich" ....
Über die Suche habe ich einen Beitrag aus dem WPF Bereich gefunden der nicht gelöst wurde:
WPF-Beitrag
Ist es vielleicht gar nicht möglich?
Die Beispiele online sprechen nur vom "droppen" von markierten Textpassagen ...
Vielleich hat ja hier noch jemand eine kreative Idee.
Gruß Kunibert.
[Edit]
Hier noch mein Code zum Versuch:
private void textBoxDeclarations_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
string fileName = e.Data.GetData(DataFormats.FileDrop) as string;
textBoxDeclarations.Text = File.ReadAllText(fileName, Encoding.UTF7);
}
}
private void textBoxDeclarations_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
}
[/Edit]
Die meisten Codeprobleme liegen ursächlich zwischen Tastatur und Lehne.
Hallo,
so geht es:
private void textBox1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop) || e.Data.GetDataPresent(DataFormats.Text))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}
}
private void textBox1_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.Text))
{
textBox1.Text = e.Data.GetData(DataFormats.Text).ToString();
}
else if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
textBox1.Text = System.IO.File.ReadAllText(files[0]);
}
}
Super.
So klappt es.
DANKE !!!!
Die meisten Codeprobleme liegen ursächlich zwischen Tastatur und Lehne.