|
Requirement:
I want to create an application, which should be able to create a file, with the file extension be specified by me. And, when i double click to open that file, it should open it's content in that application. How can this be achieved? ( like word,excel..etc)
Code so far:
For example.. I have created a application with a Richtextbox control to display data,buttons to create a new file, openfile,savefile and to exit. And let my file extension be ".gun".
Time to Answer:
Now, what happens is i create new file, save(savefiledialog) it with .gun extension. This files gets opened when i open it using 'open(openfiledialog) button' which is present in my application. But when i double this file (which is placed on desktop) it opens only the application and not with the content.? How can i get it with the content when the file is double clicked?
|
|
|
|
|
Look for method "Main" in your application.
If you have no parameters in it "Main()" then change it to "Main(string[] args)".
If you double-click .gun file, then it is like calling using command prompt:
MyApplication.exe myFile.gun
Just take your .gun file in "args" variable.
|
|
|
|
|
Or just call Environment.GetCommandLineArgs()
|
|
|
|
|
You will need to associate the file extension *.gun with your application - the article http://support.microsoft.com/kb/185453 describes for VB but its basicallyde sticking some info in the registry...
|
|
|
|
|
Hi, When i use Main(string[] args) or Environment.GetCommandLineArgs;
it shows me the following error.
Error 1 'string' does not contain a definition for 'rtbFile' (Richtextbox instance)
|
|
|
|
|
|
The error is ok now. and i have done main(string[] args) or Environment.GetCommandLineargs..... But still when i double click the created file(file with .gun extension),, it still doesn't contain the content.
|
|
|
|
|
Just for example :
static void Main(string[] args)
{
string fileToOpen = args[0];
}
|
|
|
|
|
I dont get what u try to say. This is my code. Can u suggest with this code....(ofdFile=Openfiledialog,rtbFile=richtextbox)
void btnOpen_Click(object sender, EventArgs e)
{
ofdFile = new OpenFileDialog();
ofdFile.DefaultExt = @"*.gun";
ofdFile.Filter = @"Gun Files|*.gun";
if (ofdFile.ShowDialog() == System.Windows.Forms.DialogResult.OK && ofdFile.FileName.Length > 0)
{
//ofdFile.FileName.
rtbFile.LoadFile(ofdFile.FileName, RichTextBoxStreamType.PlainText);
}
}
|
|
|
|
|
And my main function is in Program.cs file
|
|
|
|
|
pass the args[0] to your form class.
static void Main(string[] args)
{
Application.Run(new Form1(args[0]));
}
For example your form class is Form1.
Then change the constructor to
public Form1(string fileToBeOpened)
{
if(fileToBeOpened != string.Empty)
{
}
}
|
|
|
|
|
It shows me 'IndexOutOfRangeException Unhandled' in program.cs
Application.Run(new Form1(args[0]));
|
|
|
|
|
I think you just COPY and PASTE the code.
You must AWARE OF ERRORS.
You MUST check if
args.Length > 0 // you get the file directly
args.Length == 0 // without file
|
|
|
|
|
Yes it works. Thanks a lot.
|
|
|
|
|
Will get u back if i get more doubts.
|
|
|
|
|
this is kinda difficult to phrase, but how can i let a user insert pics into a c# appliaction, and save it so it will show the next time you run the app?
|
|
|
|
|
You have to build a framework yourself, for how you store the image info ( you can't embedd the images in your actual app ), and to display them. For example, an XML file of image paths, and you then build a list from that, and add pictures to the page dynamically based on this list.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
|
|
|
|
|
Hi,
kindly check my little script and tell me. where am I doing wrong?
When i run this script the error arises :
==>> No connection could be made because the target machine actively refused it
thank you
private void button1_Click(object sender, EventArgs e)
{
IPAddress host = IPAddress.Parse("192.168.0.102"); // <<-- my machine ip
IPEndPoint hostep = new IPEndPoint(host, 8000);
Socket sock = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
try
{
sock.Connect(hostep); // <== Error comes from here
listBox1.Items.Add("Connected.");
}
catch (Exception ex)
{
listBox1.Items.Add("Connection problem is :");
listBox1.Items.Add(ex.Message);
textBox1.Text = ex.Message;
sock.Close();
return;
}
try
{
sock.Send(Encoding.ASCII.GetBytes("testing"));
}
catch (Exception exsoc)
{
listBox1.Items.Add("Problem sending data");
listBox1.Items.Add(exsoc.Message);
sock.Close();
return;
}
sock.Close();
}
|
|
|
|
|
Possibly a firewall error or the target IP+port is not enabled.
|
|
|
|
|
Thank you Mr Sarafian
now i have sold my problem
|
|
|
|
|
Hi all,
Thanks in anticipation.
I was working on something that reads a serialized (in vc++) file in c#. So I was using the unsafe sizeof to read or get the size of certain objects. I am providing some code snippet to make the problem comprehensive.
struct Node
{
public struct NodeConsumerSnID
{
Int32 m_nNoOfConsumers;
Int32 m_BranchAboveUniqueID;
}
////////// it is returning 8 Byte
public struct NodeConsumerSnID1
{
Int32 m_nNoOfConsumers;
Int16 m_BranchAboveUniqueID;// int16 or short
}
////////// it is returning 8 Byte
public struct NodeConsumerSnID2
{
Int16 m_nNoOfConsumers;// int16 or short
Int16 m_BranchAboveUniqueID;// int16 or short
}
////////// But it is returning 4 Byte
public struct NodeConsumerSnID3
{
Int16 m_nNoOfConsumers;// int16 or short
Int32 m_BranchAboveUniqueID;
}
////////// it is again returning 8 Byte
Now when I look through the output, sizeof(NodeConsumerSnID) returns 8 byte as expected. Also sizeof(NodeConsumerSnID2) returns 4 byte as expected. But unexpectedly, size0f(NodeConsumerSnID1) and sizeof(NodeConsumerSnID3) returns 8 bytes, whereas the expected value was 6 byte.
Can you please provide me some understanding on the same?
Regards,
Kangkan
-----------------------
Kan...
|
|
|
|
|
The values are padded to be word aligned, I believe. I think there's an attribute you can set to turn this off. Sorry, I don't know what it is, offhand.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
|
|
|
|
|
Thanks.
The problem is now solved by turning off the alignment.
Regards,
Kangkan
-----------------------
Kan...
|
|
|
|
|
myProcess.StartInfo.Arguments = DataClass2.exc_outputFileName;
I am getting path in exc_outputFileName as @"C:\Ankit\testank";
myProcess.Start();
on myProcess.Start(); it throws error
An unhandled exception type 'System.ComponentModel.win32Exception' occured in system.dll
Additional information :system cannot find ther file specified
Ankit Aneja
"Nothing is impossible. The word itself says - I M possible"
|
|
|
|
|
Try specifying the file extension.
|
|
|
|