myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grundlagen von C# » Wie kann ich eine Textdateien nach Doppelklick mit meinem eigenen Editor öffnen?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Seiten (2): [1] 2 nächste » Antwort erstellen
Zum Ende der Seite springen  

Wie kann ich eine Textdateien nach Doppelklick mit meinem eigenen Editor öffnen?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen


marlem ist offline

Wie kann ich eine Textdateien nach Doppelklick mit meinem eigenen Editor öffnen?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

ich entwickle einen barrierefreien Texteditor mit WPF.
Ich möchte dass der Anwender im Windows dafür sorgen kann,dass wenn er auf eine Textdatei einen Doppelklick macht, dass die Textdatei mit meinen barrierefreien Texteditor geöffnet wird.

Was muss ich tun, damit das funktioniert?
03.03.2019 21:39 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.794
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hat mit WPF oder einer Anwendung selbst nichts am Hut.

Du musst in Windows die Dateiendung mit der Applikation verknüpfen.
Siehe auch  Google-Suche nach windows set default application for file type, das dann zB auf  Ändern der Standardprogramme in Windows 10 verweist.

Willst Du das programatisch tun, geht das über das aktive Setzen eines entsprechenden Registry Keys.
03.03.2019 22:29 Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Abt,

okay, habe ich mir fast gedacht, dass es eine C#-Sache ist.
Ja, ich möchte das im Programm machen.
Wenn mein Texteditor auf einen Windowsrechner gestartet wird,
soll der Anwender die Möglichkeit haben den Texteditor mit Textdateien zu verknüpfen.

Hast Du Beispielcode wie das geht?
04.03.2019 05:33 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Palladin007 Palladin007 ist männlich
myCSharp.de-Mitglied

Dabei seit: 03.02.2012
Beiträge: 1.172
Entwicklungsumgebung: Visual Studio 2017
Herkunft: NRW


Palladin007 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Palladin007 am 04.03.2019 11:02.

04.03.2019 09:02 Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

okay, dann habe ich nach den falschen Begriffen gegoogelt. sorry!
04.03.2019 09:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich habe nun diese Methode erstellt:

C#-Code:
private void StandardProgrammfuerTextdateien()
        {
            RegistryKey vRegist;
            RegistryKey vKey;
            vRegist = Registry.ClassesRoot.OpenSubKey("", true);
            vKey = vRegist.CreateSubKey(".txt");
            vKey.SetValue("", "textdatei");
            vKey = vRegist.CreateSubKey("textdatei");
            vKey.SetValue("", "Textdatei");
            vKey = vRegist.CreateSubKey(@"textdatei\DefaultIcon");
            vKey.SetValue("", System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + ".0");
            vKey = vRegist.CreateSubKey(@"textdatei\shell\open\command");
            vKey.SetValue("", System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "%1");
        }

Wenn ich die im Konstruktor vom Hauptformular aufrufe, dann knallt es!
Wo muss ich die aufrufen?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von marlem am 04.03.2019 11:11.

04.03.2019 11:06 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Palladin007 Palladin007 ist männlich
myCSharp.de-Mitglied

Dabei seit: 03.02.2012
Beiträge: 1.172
Entwicklungsumgebung: Visual Studio 2017
Herkunft: NRW


Palladin007 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat:
dann knallt es!

Das ist keine Fehlermeldung


Tipp:
Guck dir Mal an, welche Registry-Einträge Du tatsächlich änderst bzw. setzt ...


Tipp Nr. 2:
Ich würde an deiner Stelle im RegEdit einen vorhandenen Eintrag anschauen, da gibt's bestimmt schon was für Text-Dateien, was dann eben auf die notepad.exe verweist.

Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von Palladin007 am 04.03.2019 11:39.

04.03.2019 11:33 Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.161
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Bitte beachte  [Hinweis] Wie poste ich richtig?, besonders Punkt 5, sonst kann man dir nicht helfen.

Verwende den Debugger, dann merkst du schnell, wo das Problem liegt:  [Artikel] Debugger: Wie verwende ich den von Visual Studio?

Der Konstruktor einer Form ist allerdings auch die denkbar schlechteste Stelle, um die Registriy zu manipulieren. Evtl. würde sogar eine einfache .reg-Datei ausreichen:  Windows Registry#.REG_files
04.03.2019 11:44 Beiträge des Benutzers | zu Buddylist hinzufügen
Palladin007 Palladin007 ist männlich
myCSharp.de-Mitglied

Dabei seit: 03.02.2012
Beiträge: 1.172
Entwicklungsumgebung: Visual Studio 2017
Herkunft: NRW


Palladin007 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ergänzend dazu:

Wenn es unbedingt aus dem Programm heraus geschehen soll, dann leg die REG-Datei als Ressource ab und führe die regedit.exe damit aus:

 https://www.codeproject.com/Questions/87...arp-application

Beachte aber, dass das Admin-Rechte braucht, allerdings müsste Windows dann automatisch danach fragen.
04.03.2019 12:39 Beiträge des Benutzers | zu Buddylist hinzufügen
Taipi88 Taipi88 ist männlich
myCSharp.de-Mitglied

avatar-3220.jpg


Dabei seit: 02.02.2010
Beiträge: 945
Entwicklungsumgebung: VS 2010
Herkunft: Mainz


Taipi88 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi,

noch als Anmerkung:
Eine solche Programmfunktion ist in meinen Augen etwas, das ausschließlich einem Installer beigebracht werden sollte.

Ansonsten hinterlässt du Müll wenn dein Programm entfernt wird...

LG
04.03.2019 12:42 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.794
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Taipi88, Müll entsteht dabei nicht.
Denn wenn Windows versucht eine Applikation zu starten, die es nicht mehr gibt, dann kommt der Dialog wie man die Datei denn öffnen mag - als ob keine Applikation hinterlegt ist.

Zudem ist das sogar ein übliches Vorgehen, dass Applikationen sich die Verantwortung einer Dateiendung erfragen (Chrome, PDF, Word, Bilder...).
04.03.2019 12:50 Beiträge des Benutzers | zu Buddylist hinzufügen
Taipi88 Taipi88 ist männlich
myCSharp.de-Mitglied

avatar-3220.jpg


Dabei seit: 02.02.2010
Beiträge: 945
Entwicklungsumgebung: VS 2010
Herkunft: Mainz


Taipi88 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Abt,
nach Löschung des Programms verbleiben dabei Registry-Einträge die ab diesem Zeitpunkt als Müll zu betrachten sind - es sei denn Windows würde das aufräumen - was ich allerdings bezweifle.

Wenn das im Programm selbst gemacht wird - hat man ja quasi keine Chance mehr aufzuräumen - im Installer allerdings durchaus.

LG
04.03.2019 12:57 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.794
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Probier's halt selbst aus.. wenn es nur die Registry der Dateiendung ist, dann bleibt da keine Leiche...
Und wie gesagt: genau so registrieren sich auch die meistgenutzten Windows Anwendungen dieser Erde.

Bei anderen Registry Zeugs bin ich bei Dir.... in diesem Fall aber nicht.
04.03.2019 13:06 Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Es ist schön, dass ich euch auch OHNE mich gut unterhaltet, aber passt auf :)

In Java geht es ganz einfach so:

Code:
1:
2:
3:
public static void main(String[] arguments) {
		if (arguments.length == 1) {
			startUpPath = arguments[0];

und in einer Windows-Programmiersprache soll es gar nicht gehen ? :)
04.03.2019 13:12 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Taipi88 Taipi88 ist männlich
myCSharp.de-Mitglied

avatar-3220.jpg


Dabei seit: 02.02.2010
Beiträge: 945
Entwicklungsumgebung: VS 2010
Herkunft: Mainz


Taipi88 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

@marlem:
Für eine solche Antwort hättest du deine Frage deutlicher formulieren müssen.

Keiner hier hat erwartet, dass du in der Lage bist einen barrierefreien Texteditor zu basteln - jedoch noch nie die Argumente einer Anwendung beim Programmstart benötigt hast...
(Zugegeben - bei WPF geht's ein wenig anders...)

Der Link zum richtigen Tutorial:  https://www.wpf-tutorial.com/wpf-applica...ine-parameters/

LG

Edit:
Abgesehen von der Großschreibung könnte man deinen Beispielcode übrigens 1:1 in Windows-Forms und Konsolenanwendungen verwenden ;)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Taipi88 am 04.03.2019 13:25.

04.03.2019 13:21 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.794
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

marlem, auch in Java registriert man mit diesem gezeigten Code keine Applikation in Windows.
Und genau das ist jedoch die Frage in Deinem Startpost.

Was Du da zeigst ist nur die Applikationsseite zur Annahme von Startparametern.
Aber auch das hat mit WPF genau nichts zutun - daher verschiebe ich das nun mal entsprechend in den Grundlagen Bereich.
04.03.2019 13:25 Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

@Taipi88
Ich habe nur gezeigt wie es mit Java geht.

In einem Kochbuch für C# gibt es ein Kapitel "Eine Dateiverknüpfung erzeugen".
Die machen es in der Registry.
Leider ist das Beispiel schlecht kommentiert!
04.03.2019 13:30 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.161
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Eine Dateiverknüpfung zu erzeugen, hat weder was mit dem Standardprogramm aus deiner originalen Frage zu tun, noch mit dem Programm-Argumenten aus deinem Codebeispiel.

Erkläre doch mal bitte, was genau du vor hast, und an welcher Stelle du damit nicht weiterkommst.
04.03.2019 13:38 Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Also:
ich entwickle einen barrierefreien Texteditor mit Microsoft Dotnet WPF.
der kommt auf meine Webseite zum kostenlosen Download.

Wenn jemand den heruntergeladen hat und sagt, der Texteditor ist so toll mit dem möchte in Zukunft ALLE Textdateien bearbeiten, dann soll dieser Anwender die Möglichkeit haben diesen Texteditor mit Textdateien zu verknüpfen und in Zukunft muss er nur auf eine Textdatei einen Doppelklick machen und der barrierefreie Texteditor öffnet sich samt Textdatei.

welche Schritte sind notwendig, damit das funktioniert?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von marlem am 04.03.2019 13:53.

04.03.2019 13:51 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.161
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

1. Windows per Registry sagen, daß deine App das Standardprogramm für die Endung .txt sein soll
2. In deinem Programm die Text-Datei im ersten Programm-Argument öffnen, wenn das übergeben wird
04.03.2019 14:05 Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Anwendung starten mit Parameter habe ich folgendes probiert:
In der Datei App.xaml.cs habe ich das eingetragen:

XML-Code:
private void Application_Startup(object sender, StartupEventArgs e)
        {
            MainWindow wnd = new MainWindow();
            // The OpenFile() method is just an example of what you could do with the
            // parameter. The method should be declared on your MainWindow class, where
            // you could use a range of methods to process the passed file path
            if (e.Args.Length == 1)
                MessageBox.Show("Now opening file: \n\n" + e.Args[0]);
            wnd.Show();
        }

in der Datei App.xaml habe ich das hier hinzugefügt:

XML-Code:
<Application x:Class="WPFTexteditor.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:WPFTexteditor"
             StartupUri="MainWindow.xaml"
             [B]Startup="Application_Startup"
>[/B]
    <Application.Resources>
        <ResourceDictionary>



        </ResourceDictionary>
    </Application.Resources>
</Application>

In die Projekteigenschaften bei Startoptionen Befehlszeilenargumente steht das drin:

Zitat:
C:\Users\Markus Lemcke\Documents\Einstellungen.txt

Jetzt war ich der Meinung, dass wenn der Texteditor startet, dass die Datei "Einstellungen.txt" geöffnet wird.

Macht er aber nicht.
Warum?
04.03.2019 15:30 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Taipi88 Taipi88 ist männlich
myCSharp.de-Mitglied

avatar-3220.jpg


Dabei seit: 02.02.2010
Beiträge: 945
Entwicklungsumgebung: VS 2010
Herkunft: Mainz


Taipi88 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi,

du hast doch überhaupt nichts geschrieben (in deinem Code), dass eine Textdatei geöffnet werden soll... Lediglich eine MessageBox, die sagt, dass du das tust.

Kam diese wenigst?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Taipi88 am 04.03.2019 15:56.

04.03.2019 15:55 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Nein, es passiert gar nichts! keine Messagebox!

Ich weiss nicht was ich coden muss, damit die Textdatei geöffnet wird!
04.03.2019 15:58 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Taipi88 Taipi88 ist männlich
myCSharp.de-Mitglied

avatar-3220.jpg


Dabei seit: 02.02.2010
Beiträge: 945
Entwicklungsumgebung: VS 2010
Herkunft: Mainz


Taipi88 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi,

ok - der Fehler warum keine MessageBox kam liegt in der App.xaml.cs.

Du definierst aktuell:
a) Einen StartupPath
b) Eine StartupURI

Da die StartupURI Vorrang hat - wird dein StartupPath ignoriert.
-> Entferne die StartupURI

Lesen einer Textdatei:
 https://docs.microsoft.com/de-de/dotnet/...-line-at-a-time

LG
04.03.2019 16:04 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Habe ich gemacht:

XML-Code:
<Application x:Class="WPFTexteditor.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:WPFTexteditor"
             Startup="Application_Startup"
>
    <Application.Resources>
        <ResourceDictionary>

        </ResourceDictionary>
    </Application.Resources>
</Application>

Hat nichts geholfen! keine Messagebox!
04.03.2019 16:14 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
pinki
myCSharp.de-Mitglied

avatar-4072.jpg


Dabei seit: 24.08.2008
Beiträge: 653
Herkunft: OWL


pinki ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Funktioniert's mit manuellem Aufruf und Parameterübergabe?
04.03.2019 16:22 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Taipi88 Taipi88 ist männlich
myCSharp.de-Mitglied

avatar-3220.jpg


Dabei seit: 02.02.2010
Beiträge: 945
Entwicklungsumgebung: VS 2010
Herkunft: Mainz


Taipi88 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi,

führt er denn die Methode aus? (Debugger benutzen)

Meine nächste Vermutung wäre, dass dein Argument wegen fehlender Anführungszeichen gesplittet wurden und somit deine Überprüfung auf Arguments.Count == 1 scheitert.

LG

PS: Eine Bitte - Benutz doch auch mal einen Punkt - ich fühl mich mit Ausrufezeichen immer angeschrien ;-)
04.03.2019 16:25 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von pinki:
Funktioniert's mit manuellem Aufruf und Parameterübergabe?

Wie mache ich eine Manuelle Parameterübergabe? habe ich noch nie gemacht.
04.03.2019 16:33 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von Taipi88:
Hi,

führt er denn die Methode aus? (Debugger benutzen)



LG

PS: Eine Bitte - Benutz doch auch mal einen Punkt - ich fühl mich mit Ausrufezeichen immer angeschrien ;-)

Die Methode führt er aus. Das hier funktioniert:

C#-Code:
private void Application_Startup(object sender, StartupEventArgs e)
        {
            MainWindow wnd = new MainWindow();
            MessageBox.Show("Startup");
            // The OpenFile() method is just an example of what you could do with the
            // parameter. The method should be declared on your MainWindow class, where
            // you could use a range of methods to process the passed file path
            if (e.Args.Length == 1)
                MessageBox.Show("Now opening file: \n\n" + e.Args[0]);
            wnd.Show();
        }

Zitat:
Meine nächste Vermutung wäre, dass dein Argument wegen fehlender Anführungszeichen gesplittet wurden und somit deine Überprüfung auf Arguments.Count == 1 scheitert.

Was kann ich dagegen tun?
04.03.2019 16:37 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Du bist ein Held:

Zitat:
"C:\Users\Markus Lemcke\Documents\Einstellungen.txt"

Mit Anführungszeichen funktioniert es.

Frage:
Was muss ich tun, damit nicht die Message angezeigt wird, sondern der Texteditor mit der angegebenen Datei geöffnet wird?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von marlem am 04.03.2019 16:42.

04.03.2019 16:40 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.794
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Liest Du Deinen eigenen Code durch? verwundert
Du hast doch selbst die Message Box in Deinen Code gebracht.
04.03.2019 16:54 Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ja, aber die muss doch weg und dann muss ein anderer Code hin, der dafür sorgt, dass der Editor plus Textdatei geöffnet wird.
Was ich jetzt anstelle der Messagebox hinschreiben muss weiß ich nicht.

Hier  https://www.wpf-tutorial.com/wpf-applica...ine-parameters/
gibt es eine Methode OpenFile . Die gibt es aber bei mir nicht.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von marlem am 04.03.2019 17:16.

04.03.2019 17:02 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Taipi88 Taipi88 ist männlich
myCSharp.de-Mitglied

avatar-3220.jpg


Dabei seit: 02.02.2010
Beiträge: 945
Entwicklungsumgebung: VS 2010
Herkunft: Mainz


Taipi88 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi,

das Lesen einer Textdatei hatte ich bereits oben verlinkt - ab davon wäre das eine Google-Suche wert. (Wieso Google-Suche? Es gibt viele verschiedene Methoden eine Textdatei zu lesen, am Stück, Zeilenweise, Zeilenweise, ggf. sogar asynchron..., da wirst du dir Gedanken machen müssen, wie du das gerne angehen möchtest bzw. wie groß die von dir unterstützten Textdateien sein dürfen ohne dass dein Programm hängt)

Was den Beispielcode angeht:
Diese Methode wurde dort nicht veröffentlicht und würde dir auch nichts helfen - du willst ja einen barrierefreien Texteditor - keine simple Textbox. Also wirst du da viele Sachen selbst machen müssen.

LG

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Taipi88 am 04.03.2019 17:24.

04.03.2019 17:23 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.161
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hast du nicht geschrieben, daß du einen barrierefreien Text-Editor geschrieben hast? Dann weißt du doch am besten, wie man damit eine Datei öffnet...
04.03.2019 17:23 Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von Taipi88:
Hi,

das Lesen einer Textdatei hatte ich bereits oben verlinkt

LG

Ich muss jetzt selber eine Methode schreiben, welche die Datei in die Textbox einliest und der ich die Datei die in args angegeben ist übergeben kann?
Habe ich das richtig verstanden?

okay:

C#-Code:
public partial class App : Application
    {
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            MainWindow wnd = new MainWindow();

            if (e.Args.Length == 1)
                wnd.edtEditor.Text = File.ReadAllText(e.Args[0], Encoding.Default);
            wnd.Show();
        }
    }

Erledigt. Funktioniert.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von marlem am 04.03.2019 17:34.

04.03.2019 17:29 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

dieser Punkt ist erledigt:

Zitat:
2. In deinem Programm die Text-Datei im ersten Programm-Argument öffnen, wenn das übergeben wird
04.03.2019 17:41 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Stefan.Haegele Stefan.Haegele ist männlich
myCSharp.de-Mitglied

avatar-3068.jpg


Dabei seit: 13.03.2009
Beiträge: 342
Entwicklungsumgebung: Visual Studio 2010 Ultimat
Herkunft: Untermeitingen


Stefan.Haegele ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Nicht böse gemeint, aber bei dem was ich hier bis jetzt gelesen habe bin ich gespannt was der Editor kann - ich vermute du verwendest ein 3rd Party Conrol.. Aber ich lasse mich gerne überraschen - wann kann man sich den Editor denn mal anschauen?
05.03.2019 07:34 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
marlem marlem ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.08.2018
Beiträge: 66
Entwicklungsumgebung: Visual Studio Community 2017
Herkunft: Reutlingen

Themenstarter Thema begonnen von marlem

marlem ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wenn ich das Problem mit Texteditor als Stanardprogramm für Textdaten gelöst habe, kommt er auf die Downloadseite  https://www.marlem-software.de/downloads.html wo bereits mein barrierefreier Texteditor mit JavaFX online ist.
05.03.2019 07:59 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
trashkid2000 trashkid2000 ist männlich
myCSharp.de-Mitglied

Dabei seit: 27.12.2010
Beiträge: 155


trashkid2000 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top



Zitat von marlem:
Also:
ich entwickle einen barrierefreien Texteditor mit Microsoft Dotnet WPF.
der kommt auf meine Webseite zum kostenlosen Download.

Auch wirklich nicht böse gemeint, aber ich persönlich bleibe ganz sicher, wenn ich das hier so lese, bei meinem Notepad++ oder Visual Studio Code.

Alle können unheimlich viel, inklusive zig PlugIns.

Und ehrlich gesagt wäre es für mich ein Totschlagkriterium, wenn sich eine Software (und am besten noch ohne Nachfrage) als Standardprogramm registrieren würde !!

Was bedeutet denn barrierefrei eigentlich im Kontext eines Editors?

Marko
05.03.2019 22:40 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.794
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top



Zitat von trashkid2000:
Was bedeutet denn barrierefrei eigentlich im Kontext eines Editors?

i.d.R:

- Screenreader Support
- DPI Einstellung der Umgebung
- Farben (Kontrast, Farbe bei Sehschwäche..)
- Keyboard-only Input
- Shortcuts (das was man bei den Office Anwendungen sieht, wenn man CTRL drückt; weiß nicht, ob man das als Shortcuts bezeichnet)
- ...

Aber ja, dies alles in in VSCode beachtet worden, wobei VSCode auf die Accessibility von Chrome angwiesen ist
 https://code.visualstudio.com/docs/editor/accessibility
05.03.2019 23:33 Beiträge des Benutzers | zu Buddylist hinzufügen
Seiten (2): [1] 2 nächste » Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 4 Monate.
Der letzte Beitrag ist älter als 4 Monate.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 20.07.2019 09:58