|
Colin Angus Mackay wrote:
Many years ago I worked with a programmer that would take this statement and abuse it to the extent that everything would be public!
Well, he didn't get it... neither about OO or maintainability.
I hope you understood it the way i meant it...
And yes; Creating the getter for this one probably is better, and isn't that much work. (Virtually none with the right tools[^] )
Have a look at my latest article about Object Prevalence with Bamboo Prevalence.
|
|
|
|
|
Desmond,
If you elected to receive response notifications via email the email you got will contain slightly incorrect code. I have corrected the code, but you need to view it on the forum.
--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
|
|
|
|
|
By the way, is there a way to "shorten the patch" to the singleton ? I mean, I have to write right now MainMameSpace.MyClasses.PropertiesClass.Instance.SomeFunction, but it would be much easier if it could be just MainNameSpace.PropertiesInstancel.SomeFunction.
Isn't it possible to access the ProperitesClass.Instance through a pointer or something ?
|
|
|
|
|
At the top of the file you can add using statements so that you can short circuit the path to the classes. If there is any ambiguity, for example two classes with the same name but in different namespaces, you will still have to use the full path.
For example:
using MainNameSpace;
using MainNameSpace.MyClasses;
then later in your code you can just put:
PropertiesClass.Instance.SomeFunction()
C# only permits pointers in unsafe methods. However if you are going to use the instance a lot then you can just assign it to a variable as normal. e.g.
PropertiesClass pci = PropertiesClass.Instance;
...
pci.SomeFunction();
I hope this points you in the right direction.
Regards,
Colin.
--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
|
|
|
|
|
hi, im using a datagrid generated from a XML file using the VS XSD builder. now i want to add a "virtual" colum that add's some extra information, i only need this information on the runtime so i don't wanna add it to the XML file.
i have read some examples with "BindingContext" and "Expression" but this examples are mostly DataGridBoolColumn and no TextColums.
dose anybody knows a tuturial or have some example code?
|
|
|
|
|
|
hi
i am try to do like this ....
i have a win form textbox and i am trying to write something like "jacal99" using threading with five seconds interval .... the value of thread was thread.sleep(5000);
but when the next charactor try to print in the textbox the first value gone.
i want to pring "jacal99" with five seconds interval .... every charactor...
thx.;)
Mazhar Hussain
|
|
|
|
|
If you post your code it might be easier to help.
Perhaps your assigning the value of Text property everytime and not adding to it:
yourTextBox.Text = "whatever"; //no
yourTextBox.Text += "whatever"; //yes
|
|
|
|
|
Hi again. Still learning C#. This time I managed to create 2 similar controls. I also have a class PropertiesClass that should change some properties (like color and text) of the controls. But after I have changed a property in PropertiesClass, how can I let the other (two) controls know that I did it ? I remind You that I have several controls that must be updated, not just one. I guess the only chance would be using events somehow ?
From my Borland Delphi days I remember using messages (if property is changed I broadcast the message and the controls respond to it) for things like this, but unfortunately (or luckily) .NET doesn't support them...
Best regards, Desmond
|
|
|
|
|
Yes, Raise an event is good solution. Search this site for Delegate and EventHandler keywords and you will find some articles about it. Also take a look at C#/Control part too.
Mazy
No sig. available now.
|
|
|
|
|
I'm very new to C# and I have some questions about writing my own controls (I thought I can learn it best that way). I have two classes - one containing a procedure that paints a area (draws a custom 3D border and background) and another class is a control, witch must call the painting method (that is in the first class) in OnPaint method.
What I don't understand here is how can I pass the area of control as a parameter of the method?
Like in Borland Delphi I would have done it like this:
procedure PaintControl(AreaToPaint: Rect)
Or with two points (one x1, y1 and another x2,x2).
How can I do this in C# ?
If you understood even a little what I'm talking about, please reply....
|
|
|
|
|
On of parameter of your OnPaint is PaintEventArgs (usually named e), and one if its memeber is e.Graphics , pass it to your painting class , you can do painting with it there.
Mazy
No sig. available now.
|
|
|
|
|
desmond5 wrote:
What I don't understand here is how can I pass the area of control as a parameter of the method?
You can call get a rectangle object referencing your control like this:
Rectangle rect = this.Bounds;
SomeMethod(rect);
public void SomeMethod(Rectangle rect)
{
}
- Nick Parker My Blog
|
|
|
|
|
where is "Project Settings (ALT+F7)" of VC++6.0 in VS.NET.
where i could set exe file name, compiler macros etc
|
|
|
|
|
VS.NET IDE -> Solution Explorer -> <right click on root of the tree > properties .
There you are !!
___________________________________________________________
greatest thing is to do wot others think you cant suhredayan@omniquad.com
|
|
|
|
|
Go to Tool menu
Customize---->Option Tab----->Keyboard----->Keyboard Mapping Schema
Select VC++.6 there.
Mazy
No sig. available now.
|
|
|
|
|
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
|
|
|
|
|