Chcę otworzyć plik tekstowy za pomocą swojego programu i przy starcie ma wczytywać do richtextboxa zawartość tego pliku. Może mi ktoś z tym pomóc, ewentualnie jak mam szukać tego po angielsku.
Załóżmy, że tb
to RickTextBox
. Jeśli to mały plik to najszybciej będzie tak:
tb.Text = File.ReadAllText("scieżka");
Chodziło mi oto, że gdy otworzę plik tekstowy za pomocą mojego programu to w richtexboxie będzie tekst z tego pliku.
Fillmore napisał(a):
Chodziło mi oto, że gdy otworzę plik tekstowy za pomocą mojego programu to w richtexboxie będzie tekst z tego pliku.
Noooo ale kod, który Ci przysłałem dokładnie tak działa.
Jest w windowsie taka opcja gdy klikasz plik PPM otwórz za pomocą.
contextMenuStrip podpinasz pod zdarzenie w richTB MouseDown
if (e.Button == MouseButtons.Right)
contextMenuStrip1.Show(richTextBox1,new Point(e.X, e.Y));
Wytłumaczę to jeszcze raz, bo chyba się nie zrozumieliśmy. Mam plik test.txt, klikam na niego PPM i daję otwórz za pomocą mójProgram. Gdy program się otwiera w richtexboxie pojawia się zawartość pliku test.txt.
Zauważ, że nie masz problemu z otworzeniem aplikacji - masz problem z dodaniem jej do menu kontekstowego i oto też powinieneś pytać.
Już wiem jak to zrobić.
Muszę edytować najpierw plik Program.cs
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1(args));
}
A potem w pliku Form1.cs:
public Form1(string[] args)
{
InitializeComponent();
if (args[0] != "pusto")
{
richTextBox1.Text = File.ReadAllText(args[0]);
}
}
I w Properties w Opcje uruchamiania->Argumenty wiersza polecenia wpisać np. pusto.
Czytanie pliku w konstruktorze okienka to akurat przykład jak tego nie robić.