|
Thanks for the response.
For my task, rather than passing a value, I want to cause a graphic to be drawn on the child form (line, arc, rectangle, etc). I can't figure out how to do this using the OnPaint mechanism. Is there a good reference on doing this?
Thanks
|
|
|
|
|
The best reference for drawing graphics in Windows Applications is Charles Petzold.
Also remember that using OnPaint is quite an ephemeral thing because you have to keep a note somewhere of what you drew. When the window is damaged (e.g. another window is placed on top) then it you have to redraw what was there. So, you might want to consider wrapping that up into a custom control and have the control do the drawing.
ColinMackay.net
Scottish Developers are looking for speakers for user group sessions over the next few months. Do you want to know more?
|
|
|
|
|
DataGridView is inherited from "CONTROL" so several properties are reserved like Background Image.
How can i set an image as a background of DataGridView control ?
Thank you in advanced.
|
|
|
|
|
hello....
does this below code mean that int variable are also treated as objects? if not please provide help regardingly...
int var=9;
string st=var.ToString();
if var is not an object how does it act like an instance of an object....
thanks...
haseeb
|
|
|
|
|
Everything in the .NET framework (excluding the rarely used pointers) are of type System.Object. That is the unified type system.
Now, you can start getting into some intricacies of the type system, for example, everything in the unified type system is either a reference type or a value type. Any C# 'struct' is a value type. Any C# 'class' is a reference type. System.Int32 (C#'s 'int') is a value type. When you call .ToString() on it, it will create a string representation of the integer.
Structs/value types are treated differently in .NET. For one, they are high-performance as they do not require a heap allocation or a garbage collection (whereas references type require both). When you pass a value type to a function, a copy of the value is actually passed:
int i = 5;
MyFunc(i);
...
void MyFunc(int theInteger)
{
theInteger = 10;
}
Also, if you cast a value type to type System.Object, a process called boxing is induced:
int i = 5;
object o = i;
Does that answer your question?
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Moral Muscle
The apostle Paul, modernly speaking: Epistles of Paul
Judah Himango
|
|
|
|
|
Hello haseeb,
Actually in .Net there us two type of object.
1) Value type object (Language define types e.g. int,char,byte,long...)
2) Reference type object (User define types e.g. class with define by user or
included by library).
Divyang Mithaiwala
System Engineer & Software Developer
|
|
|
|
|
there's nothing to stop the user defining a value type!
public struct MyValueType
in oppose to
public class MyReferenceType
|
|
|
|
|
What is the best way to create a folder in the "Documents and settings\user name\local settings\application data\program folder" when creating a deployment project?
|
|
|
|
|
If I remember correctly than System.Windows.Forms.Application.LocalUserAppDataPath will automatically create one when it is accessed.
|
|
|
|
|
hello... i have quite a good idea of java and C sharp... previously i worked in c++ and over there in order to make a string appear in the text box i had to program it manually that is i made a string. Same was the case in java, text in textboxes were shown by programing the event (keypressed or keyup) in the manner that it would form a string. but here in c sharp the textbox string is made automatically ie when i make the text box object i dont really need to attach an event to it to make strings.
My questions are:
1. is this handler already implemented in the textboxbase class? if not where is it implemented?
2. i want to change the handler? do i have to override any member or property? if yes plz provide the name of the member or property...
actually i want my text box to produce a beep when the first character is inserted as a number. also i want not to allow the special characters, though i want underscore to be implemented . please provide an insight
thanx...
haseeb
|
|
|
|
|
haseeb_saeed wrote: is this handler already implemented in the textboxbase class? if not where is it implemented?
What handler?? All you do is set the TextBox's Text property to the string you want and it'll draw the string in the box for you.
haseeb_saeed wrote: i want to change the handler? do i have to override any member or property?
You want to change, or override, the painting of the string in the TextBox?? Then all you have to do is create your own control that inherits from TextBox, and override it's Paint method, supplying your own paint code.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
All the handling for the text in a text box is already implemented. To access the text all you need to do is access TextBox.Text. As for your beep, try using the "OnChanged" event to check and see if there is only one characer, and if it is a number/any other "beepable" character.
|
|
|
|
|
On a pocketpc device with GPS capabilities is there a way to get the device's current coordinates without some type of sdk? I was thinking that if its gps coords are updated periodically anyway, this should just be a property that you can access.
My Music | My Pics | My Articles
BlackDice
|
|
|
|
|
BlackDice wrote: is there a way to get the device's current coordinates without some type of sdk
No. You'll have to consult with the devices manufacturer for any information on how to connect to it.
BlackDice wrote: this should just be a property that you can access
Sure, of some object that is supplied by an SDK specific to your GPS device. There's nothing for it in the .NET Framework.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
FYI:
I've been doing some SERIOUS Googling and have found out that you can access the gps receiver through the COM port and read its output by using createfile().
My Music | My Pics | My Articles
BlackDice
|
|
|
|
|
BlackDice wrote: I've been doing some SERIOUS Googling
That what it takes to do this job!
If all you need to do is open a serial port, then all that takes is a little more Googling[^].
What you get from the GPS receiver is kind of standard, but not every manufacturer supports everything in the standard. So, again, you'll have to Google around for the docs on the GPS output for your receiver.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I recently started a C# prototype using the OLE DB access method to read from a hefty Excel spreadsheet that we use at the office. The nice thing about OLE DB is you can read Excel worksheets pretty easily, and in block read style.
H O W E V E R, when was the last time you saw a clean error free, perfectly formatted spreadsheet?
That's where I am stuck. It seems the OLE DB driver/JET engine will happily retrieve the specified query range but it also supplies a null for any cell it doesn't like. Is there a way to override this behavior and tell Jet.OLEDB through the ExtendedProperties to retrive all data as is?
Currently I have specfied Imex=2 but that does not seem to be getting it done.
FYI, here is one way to read a worksheet in one read. In my case I know there are roughly 330-370 rows per worksheet:
<br />
OleDbConnection con = new OleDbConnection( connectionOpts );<br />
con.Open();<br />
<br />
string query = string.Format( "SELECT * FROM [{0}$[1]]", tableName, queryRange );<br />
<br />
OleDbDataAdapter oleAdapter = new OleDbDataAdapter();<br />
oleAdapter.SelectCommand = new OleDbCommand( query, con );<br />
DataSet ds = new DataSet();<br />
int rowsProcessed = oleAdapter.Fill( ds, "data" );<br />
<br />
oleAdapter.Dispose();<br />
oleAdapter.Close();<br />
etc.<br />
Since this is such a simple way to read the data, now all I need is a way to ensure it gets ALL of the data.
Mike Luster
CTI/IVR/Telephony SME
|
|
|
|
|
OK I know the PROBLEM, see the link:
http://support.microsoft.com/default.aspx?scid=kb;en-us;194124
Mike Luster
CTI/IVR/Telephony SME
|
|
|
|
|
I have a class with a "Tag" property, similar to a TreeNode - a blank object that can be set to anything, in order to extend the base instance in whatever way an end user wishes. Because my class is serializable, I want to place a restriction on the object that can be set to the "Tag", to make sure it is serializable as well. I tried something similar to the following code, but it does not work:
object[] attributes = value.GetType().GetCustomAttributes(typeof(SerializableAttribute), true);
if (attributes.Length == 0)
throw new ArgumentException("All extender objects must be serializable.", "value");
...
In fact, if I do the following on any class I've defined with the Serializable attribute, the serializable attribute is never displayed (but others are):
foreach (Attribute att in value.GetType().GetCustomAttributes(true))
System.Diagnostics.Trace.WriteLine(att.ToString());
As far as I've seen so far, the Serializable attribute is the only one this happens to (might be more, but this is the only one I've run into so far), so is there another way to determine if this attribute is defined for a class?
-----
In the land of the blind, the one eyed man is king.
-- modified at 13:19 Monday 13th March, 2006
|
|
|
|
|
The behaviour is strange indeed, however, AFAIK, you can use Type.IsSerializable
|
|
|
|
|
Wow - that's exactly what I was looking for to begin with, right down to the property name I was expecting for it - only when I didn't find it did I eventually find the GetCustomAttribute method that didn't work for this. How the heck did I miss that?!?!?!?
Thanks for pointing out my blindness, I think I'll go get my eyes checked now!
-----
In the land of the blind, the one eyed man is king.
|
|
|
|
|
You need to find all the serializable types within an assembly.
Solution
Instead of testing the implemented interfaces and attributes on every type, you can query the Type.IsSerialized property to determine whether it is marked as serializable, as the following method does:
public static Type[] GetSerializableTypes(Assembly asm)
{
List<Type> serializableTypes = new List<Type>();
// Look at all types in the assembly.
foreach(Type type in asm.GetTypes())
{
if (type.IsSerializable)
{
// Add the name of the serializable type.
serializableTypes.Add(type);
}
}
return (serializableTypes.ToArray());
}
The GetSerializableTypes method accepts an Assembly through its asm parameter. This assembly is searched for any serializable types, and their full names (including namespaces) are returned in a Type[].
In order to use this method to display the serializable types in an assembly, run the following code:
public static void FindSerializable()
{
Assembly asm = Assembly.GetExecutingAssembly();
Type[] serializable = GetSerializableTypes(asm);
// Write out the serializable types in the assembly.
if(serializable.Length > 0)
{
Console.WriteLine("{0} has serializable types:",asm.Location);
foreach (Type t in serializable)
{
Console.WriteLine("\t{0}", t.FullName);
}
}
}
|
|
|
|
|
I have retrived an web page content in one text box, now I want to retrive URLs from that content.So how can I do this.because different URLs have different Length and patterns so I am in trouble.Can any body help me?
Raj
|
|
|
|
|
you have to use regular expressions for something like this.
<br />
using System.Text.RegularExpressions;<br />
<br />
string linkPattern = "href\s*=\s*(?:""(?<match>[^""]*)""|(?<match>\S+))";<br />
Regex linkRegex = new Regex(linkPattern, RegexOptions.IgnoreCase | RegexOptions.Compiled);<br />
Match linkMatch = linkRegex.Match(page);
while(linkMatch.Success)<br />
{<br />
string link = linkMatch.Groups(1).Value.ToString();<br />
....
linkMatch = linkMatch.NextMatch();<br />
}<br />
-- modified at 16:10 Monday 13th March, 2006
|
|
|
|
|
i have my user control in namespace called Test1 my user control name is class Header. and i am trying to call that user control in my project number two which is called Test2. i have add reference in my Test2 and
using Test1;
namespace Test2
{
public class default : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
Header proBarStatusUC = (Header) Page.FindControl("Header");
proBarStatusUC.Function1();
proBarStatusUC.Function2();
}//load
}//class
}//namespace
This work no problem, but when i try to LoadControl i get error 'file not found Header.ascx'.
using Test1;
namespace Test2
{
public class default : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
Header proBarStatusUC = (Header) Page.FindControl("Header");
proBarStatusUC.Function1();
proBarStatusUC.Function2();
Header proBarStatusUC2 = (Header) Page.LoadControl("Header.ascx");
phPlaceHolder.Controls.Add(proBarStatusUC2);
}//load
}//class
}//namespace
if i have my user control in same namespace it worked, that not what i want. i what to call my user control in different project becuase my header will look same for the project and i don't want to create user control for every project. can someone please help me... Thank you,
|
|
|
|