Form to display file contents?

VS 2008 C# 3.5

I need the quick and dirty version of how to:

1.

read the content of a file (or two files at the most) into a varible

2.

open a new form from a windows application

3.

display the contents of that file (those files) on that form.

are there any code examples of this that I can take a look at? i'm open to other options for performing this same task. i don't want the displayed content to be editable.
LVL 1
Michael SterlingWeb Applications DeveloperAsked:
Who is Participating?
 
käµfm³d 👽Connect With a Mentor Commented:
I think I'd just pass the forms application the path to the file, and let it open up the file itself, rather than pass it the text. For this purpose, you could do something like the following:

Main Application
string filename = "path\to\text\file.txt";

filename = "\"" + filename + "\"";  // Add quotes to ensure that paths containing spaces are sent correctly

System.Diagnostics.Process.Start(@"path\to\forms\application.exe", filename);

Open in new window


Forms Application
public class Form1 : Form
{
    protected void Form1_Load(object sender, EventArgs e)
    {
        string[] arguments = Environment.GetCommandLineArgs();
        string textFilename = arguments[1];  // Add error checking for IndexOutOfRange

        this.textBox1.Text = System.IO.File.ReadAllText(textFilename);
    }
}

Open in new window

0
 
käµfm³d 👽Commented:
What are we talking about here? Text files? PDFs? Video files?
0
 
Michael SterlingWeb Applications DeveloperAuthor Commented:
Sorry, yes just text files.
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
Michael SterlingWeb Applications DeveloperAuthor Commented:
@kaufmed: Thank you. How do I make the file read only?
0
 
käµfm³d 👽Commented:
The file itself, or the data on the form?
0
 
Michael SterlingWeb Applications DeveloperAuthor Commented:
The file itself.
0
 
käµfm³d 👽Commented:
Well, your application won't be doing any writing to the file, so it is effectively read-only. If you need to explicitly have your code set this attribute on the file, well that is a different story, but can be achieved. Note, though, that setting this attribute really means nothing for your application unless your application is actually trying to write to the file.
0
 
Michael SterlingWeb Applications DeveloperAuthor Commented:
My application only needs to display the file. It won't be doing any writing to it other than for its intial creation. Matter of fact, I look for and delete the file (if it exits) before creating/writing to it again. It is truly only for displaying of content from other files that actually do get processed later on. How do I get my code to set this file's attribute to read only, before I open it?
0
 
käµfm³d 👽Commented:
If you set it, then you won't be able to delete the file. To answer your question:

System.IO.FileInfo yourFile = new System.IO.FileInfo(@"path\to\your\text\file.txt");

yourFile.IsReadOnly = true;

Open in new window

0
 
Michael SterlingWeb Applications DeveloperAuthor Commented:
this is my code:

                        StreamWriter sw1 = new StreamWriter(@"FileContent.txt", true);
                        sw1.WriteLine(content);
                        sw1.Close();
                        System.Diagnostics.Process.Start("notepad.exe", @"FileContent.txt");
                        FileInfo myFile1 = new FileInfo(@"FileContent.txt");
                        myFile1.IsReadOnly = true;    

Open in new window


as it stands, i can still edit the file when it opens. what am i doing wrong?
0
 
käµfm³d 👽Commented:
as it stands, i can still edit the file when it opens. what am i doing wrong?
That depends on what you mean. If by "edit the file" you mean you can manipulate the text that you see on the form, well then I must tell you that you are not really editing the file. You are editing the text that is in the text box. To prevent such edits, change the ReadOnly property of the text box to True in the designer.
0
 
Michael SterlingWeb Applications DeveloperAuthor Commented:
Oh, that's the thing, its actually opening up a notepad file (.txt) with content. there is no textbox.
0
 
käµfm³d 👽Commented:
My fault. I didn't look at your last code sample. Try moving the readonly code above the code that launches notepad.
0
 
Michael SterlingWeb Applications DeveloperAuthor Commented:
@kaufmed: i tried this but to no avail.

                        FileInfo myFile1 = new FileInfo(@"FileContent.txt");
                        myFile1.IsReadOnly = true;
                        System.Diagnostics.Process.Start("notepad.exe", @"FileContent.txt");

Open in new window

0
 
Michael SterlingWeb Applications DeveloperAuthor Commented:
Thank you.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.