|
Hi,
I am an ex VB programmer learning C# by converting a VB app into C#. In VB I was able to add properties (get and set) to a form so that you could set some properties, display the form so the user could do their bit and the hide the form to read the properties and then close the form.
Is it possible to add properties this way in C#?
I would need to call the form and set the form properties from a button click procedure.
Thanks for any help.
Stephen
|
|
|
|
|
Here's a stub of some code to get you creating get/set properties in C#
public string MyPropertyName
{
get
{
return this.myTextBox.Text
}
set
{
this.myTextBox.Text = value;
}
}
In this example the property is a string , but it can be any type you like.
The keyword value is special and it contains the value the caller want to set the property to.
To use the property you can just assign and use it like any variable.
Does this help?
--Colin Mackay--
EuroCPian Spring 2004 Get Together[^]
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
|
|
|
|
|
It looked pretty close and so I placed it into the form but I was unable to access the property from my buttom click event. How can I make the property so I can access it from the property click event? What I want to achieve ( using the example given) is frmMyform.MyPropertyName = value;
Thanks.
Stephen
|
|
|
|
|
Sorry I don't understand what you are asking.
Properties don't have events. Controls (or any kind of class) can have events. A property is a special kind of a method on a class that you can use to implement get and/or set behaviour.
--Colin Mackay--
EuroCPian Spring 2004 Get Together[^]
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
|
|
|
|
|
I am trying to create a download program similar to flashget but I have come across a problem. Some of the files as you would know are retrieved by using ftp and others http. I have had no problem to download either of these but I found some download links are http to start off with and then are redirected to ftp. Here is the code I am using for http downloads:
<br />
HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(fullFileName);<br />
myHttpWebRequest.MaximumAutomaticRedirections=100;<br />
myHttpWebRequest.AllowAutoRedirect = true; <br />
HttpWebResponse myHttpWebResponse;<br />
myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();<br />
myHttpWebResponse.Close();<br />
The problem is files such as http://download.com.com/redir?pid=8132587&merid=50220&mfgid=50220<ype=dl_dlnow&lop=link&edId=3&siteId=4&oId=3002-20-8132587&ontId=20&dlrs=1&destUrl=ftp%3A%2F%2Fftpx.download.com%2Fpub%2Fwin95%2Futilities%2Ffilecomp%2Fwinzip81.exe get redirected to ftp and therefor cause a System.Net.WebException with the following message: "Cannot handle redirect from http/https protocols to other dissimilar ones.". This is understandable, but how do I go about redirecting the http download to ftp. I could do it easily if I were to get the ftp address. It is in the actual url above but in many other cases it won't be part of the url so could someone please help me out in solving this problem?
|
|
|
|
|
Hi,
I'm looking for a starting point here. I want to 'intercept' incoming HTML on the client, before it's handled by the browser. Is this possible?
Kind regards ,
Ludwig
|
|
|
|
|
One way to do it is to write a Browser Helper Object[^]. Browser Helper Object can then send message and pass URL to your main application.
|
|
|
|
|
Thanks for the answer. My initial idea was to have an independent application that runs in the system tray. But I need to go low level for this, I guess
|
|
|
|
|
|
Hi,
that class can be used if I set up a connection from within my application. But I need to intercept data from the browser itself, not from within my application....
|
|
|
|
|
Hi All,
I want to write an application, which searches the pdf files based on some keywords. All the pdf files which contains the keywords should be listed.If we double click one of the entries, it should open the pdf in a seperate window( all the keywords should be highlighted). Any idea ?
Thanks for your time
Mahesh Varma
|
|
|
|
|
I 's trying to do one of my school project and I 've a textbox which has multilines true and I was assigning string to the lines[] property. While assigning I 'm getting the error I listed below this program.
Would anybody please help me because I 'm new to this language?
I ' would really appreciate.
Thanks.
Gurvinder
private void cmdSelect_Click(object sender, System.EventArgs e)
{
// string seperated by colons ';'
string info;
info = txtTypeCommand.Text;
string[] GetInput = new string[4];
// define which character is seperating fields
char[] splitter = {','};
int Intval;
GetInput = info.Split(splitter);
if (GetInput.Length > 2)
{
MessageBox.Show("Only '1' Comma is allowed");
return;
}
for(int i = 0; i < GetInput.Length; i++)
{
if(i==0)
cmdArray[RowCommand,i] = Convert.ToInt32(GetInput[i]);
else
cmdArray[RowCommand,i] = Convert.ToInt32(GetInput[i]);
}
txtShowCommand.Lines[RowCommand] = info;
RowCommand += 1;
}
Error!!!
I 'm getting error an Unhandled exception has occured in your application.
Index was outside the bound of the array
|
|
|
|
|
The first thing you should definitely do is figure out exactly which line is causing this exception to be thrown. Debug it and step thru it. Figure out exactly which line is throwing the exception. You could also catch the exception and inspect it inside the catch block (the Exception class contains a full stack trace in it that will tell you exactly which line threw the exception).
I'm almost positive it's the lines that say:
cmdArray[RowCommand,i] = Convert.ToInt32(GetInput[i]);
This appears to be the only place you could get an array out of bounds exception, because the GetInput array will be properly initialized by the Split command (and you're going from 0 to its length, which is perfectly legal). Is this cmdArray set to the Textboxes lines? If you don't know how big he array's going to be, consider using a collection of some sort that will allow you to add things at will.
One other comment...
The array creation in this line:
string [] GetInput = new string[4];
is pretty much not needed. The Split command will return an array, so you could just say:
string [] GetInput;
and let the Split command assign however big the actual array is. There's nothing special basically about initializing it to an array of 4 strings since it will be recreated when you do the Split.
That's about all I can help without seeing the rest of the code, but that should give you a good place to start looking.
I, for one, do not think the problem was that the band was down. I think that the problem may have been that there was a Stonehenge monument on the stage that was in danger of being crushed by a dwarf.
-David St. Hubbins
|
|
|
|
|
Generally very good advice. But there is another line that could cause the error:
txtShowCommand.Lines[RowCommand] = info;
--Colin Mackay--
EuroCPian Spring 2004 Get Together[^]
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
|
|
|
|
|
Thanx much David and Colin,
I think Colin is right I 's having problem in .
txtShowCommand.Lines[RowCommand] = info;
when I initialize Lines[] property by clicking [...] button then I don't get this error but neither I get the assignment of info to the line.
Thanks again!!!
Gurvinder
|
|
|
|
|
I got my Winform application to hide from the taskbar but I still see it when I do an ATL-TAB. Is there a way I can hide it from that?
Thanks
Ralph
|
|
|
|
|
Hi,
I am able to rum my application but now when I package it and install, it gives the TypeInitializationException : The type initializer for "Start" threw an exception !
Start is the name of the namespace which has Main.
I was able to install it earlier but I can't seem to think what changed that let to this disaster.
Any clues ?
Thanks,
Paul
|
|
|
|
|
Namespaces are not types, so that couldn't be it. Try to find the real "Start" type.
And when exectly does it give the error?
|
|
|
|
|
Sorry, but Start is the class in which Main is defined. I have put catch blocks everywhere but it doesn't give any more details.
|
|
|
|
|
Does anyone know how to make the print preview dialog open up in a maximized state?
It doesn't have a WindowState property, so I'm not really sure what to do.
Thanks,
Blake
|
|
|
|
|
Set PrintPreviewDialog.DesktopBounds to Screen.PrimaryScreen.WorkingArea .
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
I tried that, but the problem is that it doesn't change the state at all, so the maximize button is still available for clicking. Also, it doesn't seem to position the window correctly either. It makes it the correct size, but it doesn't position at the top of the screen.
Is there no possible way to actually change the maximized state and not just the size?
Thanks,
Blake
|
|
|
|
|
That weird about the location. Since Screen.WorkingArea returns a Rectangle - which includes a Point - one would assume that it'd be 0, 0 . You can set PrintPreviewDialog.DesktopLocation to new Point(0, 0) instead.
As far as the state, for some reason PrintPreviewDialog overrides and hides the Form.WindowState property, even though it derives from Form . There might be a valid reason for this, but you could try to set PrintPreviewDialog.WindowState to FormWindowState.Maximized . It won't be visible in the PropertyGrid or code editor, but it's still there (it just gets and sets base.WindowState . Hopefully that works.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I did the WindowState equal to Maximized and its working. Thanks! I just figured since it wasn't in the code editor that it wouldn't work.
Blake
|
|
|
|
|
Heath is right. The WindowState property from Form is still there but hidden by the override. In this case you don't operate on the PrintPreviewDialog but on the base Form . This code seems to do what you want.
<br />
PrintPreviewDialog ppd = null;<br />
try<br />
{<br />
ppd = new PrintPreviewDialog();<br />
Form wind = ppd as Form;<br />
wind.WindowState = FormWindowState.Maximized;<br />
ppd.ShowDialog();<br />
}<br />
finally<br />
{<br />
if(ppd != null)<br />
ppd.Dispose();<br />
}<br />
|
|
|
|