|
I'm not an expert on OpenGL, but usually when something dosn't work untill the form/window is resized it might be a problem with initializing all the variables.
For starters you can try calling the OnSize event hendler manually when the window is first shown. If this makes things better you can have a look at what's happening inside the method and find the missing initialization.
|
|
|
|
|
Is it possible to make a explicit casting using a variable?
I'm passig a boxed object, and it's Type, as arguments. Inside the method I would like to unbox and use the content
private void myMethod ( Object boxedObject, Type dataType)
{
....
... = (dataType)boxedObject;
....
}
I know it doesn't compile this way. By the moment i'm using this kind of code:
switch (dataType.ToString())
{
case "int":
... = (int)boxedObject;
case "string"
... = (string)boxedObject;
...
}
But... is there a way to make something similar to "(dataType)boxedObjec)" that doesn't need using 'if' or 'case' for every dataType?
Thanks!
|
|
|
|
|
You can probably do it via reflection, but what are you going to do with it then?
If (for example) "as" worked that way, so you could do " = boxedObject as dataType;" what are you going to assign it to? Other than another object?
You can't pass it to another method, because any type you haven't covered will either no compile or will throw an exception.
You can't use it's properties, as you can't be sure it has those properties (other than ToString and the other really basic ones).
What are you trying to do, that you need this?
All those who believe in psycho kinesis, raise my hand.
My 's gonna unleash hell on your ass. tastic!
|
|
|
|
|
'as' works the same way than normal casting... Doesn't work...
What I want is compare the given value with data values from a dataset. So I first get the needed column DataType, and then I compare whith the properly unboxed value. The basic code would be:
public int SeekRow (string colName, object value)
{
Type dataType = myDataSet.MyTable.Columns[colName].DataType;
for (row=0; ...)
{
if (myDataSet.myTable[row][ColName]==(dataType)value)
{
return row;
}
}
return -1;
}
If I can't, I must use a lot of untidy 'if' ot 'case'...
|
|
|
|
|
I know "as" doesn't work - that's why I said 'If (for example) "as" worked that way' rather than 'Use "as" - it will do what you want'
I can't help thinking you are overdoing this a little, but...
Do you really need to know what the datatype is? Since your are returning only the row number rather than the value, either compare it directly
myDataSet.myTable[row][ColName] == value or use ToString and compare that way.
myDataSet.myTable[row][ColName].ToString() == value.ToString() Otherwise you have to be sure that all the objects you may pass the routine implement the == operator...
I would still think about why I was doing this in this (rather odd) way in the first place.
All those who believe in psycho kinesis, raise my hand.
My 's gonna unleash hell on your ass. tastic!
|
|
|
|
|
This is the temporal solution I have implemented, converting ToString. As you say, otherwise I should be sure to implement "==" operator for every object.
Thanks for your reply!
|
|
|
|
|
Assuming that you are not actually passing objects in, you might be able to use generics here:
public int SeekRow<T>(string colName, T value)
{
for (row = 0; ...)
{
if ((T)myDataSet.myTable[row][ColName] == value)
{
return row;
}
}
return -1;
}
int row1 = SeekRow("Age", 25);
int row2 = SeekRow("Name", "John Doe");
|
|
|
|
|
Nice!
I didn't know that. Just becouse I am returning to c# programmin after... 6 years without programming at all!! And I have only installed .NET Framework 1, do I wasn't aware of Generics.
I will try!
Thanks!
|
|
|
|
|
If you want to use generics, you will need at least .NET 2.0 (might as well just get 3.5 since it's the newest and contains 2.0)
|
|
|
|
|
System.Convert.ChangeType ? The only useful member of Convert.
|
|
|
|
|
Hi Guys,
I am creating a custom component for sending emails( due to project requirements).
I am using telnet commands for sending mails.
I want to execute the inbuilt authentication method provided by system.net.mail.smtpclient class and authenticate my stream.
Please help.
Thanks in advance.
Ankit
|
|
|
|
|
Hi,
and did you already tried to do this by reflection? Did you get an error or exception?
Regards
Sebastian
|
|
|
|
|
I am new to c#.
I am looking for a code snippet that will help me out.
Regards,
Ankit
|
|
|
|
|
So did I get you right, you want to create a stream outside of SmtpClient and authenticate the stream with the private method of SmtpClient? So does the method signature accepts a stream? If yes, it could propably work, if not then you have to use the SmtpClient class or authenticate by your own.
Could you provide the method signature so that it is possible to write some code around...
Regards
Sebastian
|
|
|
|
|
You got me right there..
But I am afraid I don't know if any such method exists...
Regards,
Ankit
|
|
|
|
|
To check if such a method exists you could use a reflector, like .NET reflector...
http://www.red-gate.com/products/reflector/[^]
Locate the SmtpClient-class within System.dll and check the existing methods. But the best way would be either implementing the authentication by yourself or using the SmtpClient-class.
Regards
Sebastian
|
|
|
|
|
Thanks,
I already tried reflector without luck.
And i have managed to code an authentication mechanism usign "Auth login" command.
But there might be other set of authentication command which i dont know.So i am just worried.
Thanks for the quick replies anyway.
Regards,
Ankit
|
|
|
|
|
|
Thanks again,
I just ran reflector again on the system.net.mail dll and found out a AuthCommand class and one smtpauthenticaiton module class.
Any code snippet will still be helpful.
Regards,
Ankit
|
|
|
|
|
i have listview with mutltiple column...nw i want to iterate only items of first column.hw can this be done?
|
|
|
|
|
string s=@"c:\d\e\wwww";
s.lastindexof('\').tostring();
it will show you only wwww
for you you should put:
string ss=s.substring(0,s.lastindexof('\t'));
|
|
|
|
|
Each row in a listview is represented by a ListViewItem which contains the content of the first column. The other columns are stored in ListViewSubItem s in the SubItems collection of ListViewItem.
So something like:
foreach(ListViewItem item in listview1.Items)
{
}
Regards,
Rob Philpott.
|
|
|
|
|
hi
i m inserting some vlues into a listbox but now i want to
restrict the duplication of entries in the list box
private void lblpush_Click(object sender, EventArgs e)
{
for (int i = 0; i < tbxnumber.Text.Length - 1; i++)
{
if (list1.Items[i] == tbxnumber.Text[i]) return;
object list = tbxnumber.Text[i];
list1.Items.Add(list);
}
}
but it does not work
|
|
|
|
|
Here you go
private void InsertListBoxItem(string NewItem)
{
if (!listBox1.Items.Contains(NewItem))
{
listBox1.Items.Add(NewItem);
}
}
Hope it helps
Harvey Saayman - South Africa
Software Developer
.Net, C#, SQL
you.suck = (you.Occupation == jobTitles.Programmer && you.Passion != Programming)
1000100 1101111 1100101 1110011 100000 1110100 1101000 1101001 1110011 100000 1101101 1100101 1100001 1101110 100000 1101001 1101101 100000 1100001 100000 1100111 1100101 1100101 1101011 111111
|
|
|
|
|
No, it won't.
Problems:
1) You are looping round exactly as many times as there are characters in the textbox, rather than the number of times there are items in the list.
2) You are comparing the list item with a single character.
Try:
1) using the codeblock widget to preserve your formatting when you post code fragments - it make it easier to read, and thus understand.
2) using foreach(ListBoxItem lbi in list1) instead of a for loop.
3) using ListBox.Contains instead of the loop at all!
All those who believe in psycho kinesis, raise my hand.
My 's gonna unleash hell on your ass. tastic!
|
|
|
|