|
You can use switch:
switch (comboBox1.SelectedIndex) {<br />
case 1: MessageBox.Show("One"); break;<br />
case 2: MessageBox.Show("Two"); break;<br />
case 3: MessageBox.Show("Three"); break;<br />
...<br />
case 12: MessageBox.Show("Twelve"); break;<br />
}
---
b { font-weight: normal; }
|
|
|
|
|
Thats a good Idea as I did something like this in VB .net 2003 and could not in C#. Thanks
In the end we're all just the same
|
|
|
|
|
Hi all
could you please anyone tell me what is the equivalent of
CSimpleStringT::GetBuffer in C#
Thanks and Regards
Madhu
|
|
|
|
|
I have classes:
public class Database
{// }
public class Baseservices
{
private ArrayList m_arrErrors;
protected Database m_DB;
protected SqlDataAdapter m_DA;
protected SqlCommandBuilder m_CB;
Protected DataSet m_DS;
protected BaseServices(Database DB, string strSQL)
{
m_DB = DB;
m_DA = new SqlDataAdapter(strSQL, m_DB.Connection);
m_CB = new SqlCommandBuilder(m_DA);
m_DS = new DataSet();
m_DA.Fill(m_DS);
}
protected void SaveRow(DataRow dr)
{
DataColumn val;
if (m_DS.Tables(0).Rows.Count == 0) {
m_DS.Tables(0).Rows.Add(dr);
return;
}
m_DS.Tables(0).Rows(0).BeginEdit();
foreach (int val in m_DS.Tables(0).Columns) {
m_DS.Tables(0).Rows(0).Item(val) = dr.Item(val);
}
m_DS.Tables(0).Rows(0).EndEdit();
}
Public Class File: BaseServices
{
Public File()
{base.new(New Database(), “SELECT * FROM tblFiles WHERE 1=0”)}
Public File(ref Database db)
{base.new(db, “SELECT * FROM tblFiles WHERE 1=0”)
}
Public File(ref Database db,ref int ID)
{base.new(db, “SELECT * FROM tblFiles WHERE pkFileID = “& ID.ToString);}
public void Validate()
{
DataRow dr;
ClearErrors();
foreach (int dr in m_DS.Tables(0).Rows) {
if (dr.RowState == DataRowState.Added | dr.RowState == DataRowState.Modified) {
ValidateRow(dr);
}
}
}
public overide void SaveRow(ref DataRow dr)
{
if(dr[“fkTeamID”]=null)
dr[“fkTeamID”] = 0;
i(dr[“CreationDate"]=null)
{dr[“CreationDate”] = date.today();}
MyBase.SaveRow(dr);
Validate();
}
}
Error in method SaveRow, I understand, Please tell me!
Thanks very much. (My English is very badly, sorry)
|
|
|
|
|
What kind of error? Compiling error? Runtime error? What is the error message?
I see that most of your quotation marks are typographic quotes (“,”), not the inch character (") that is used when programming. Is that so also in the code that you are using, or did it happen on the way to the forum?
---
b { font-weight: normal; }
|
|
|
|
|
Compiling error. Yes, in my program inch chararcter(") but not (“,”).
|
|
|
|
|
What is the error message?
---
b { font-weight: normal; }
|
|
|
|
|
I want to ask you about this code follow:
public class File: BaseServices
{
public File()
{base.new(New Database(), “SELECT * FROM tblFiles WHERE 1=0”)}
public File(ref Database db)
{base.new(db, “SELECT * FROM tblFiles WHERE 1=0”)
}
Public File(ref Database db,ref int ID)
{base.new(db, “SELECT * FROM tblFiles WHERE pkFileID = “& ID.ToString);}
Class File inherites BaseService and how contructors of File wrong?
|
|
|
|
|
You don't have a static method called "new" in the BaseServices class. Are you trying to call the constructor of the base class? Then it's done like this:
public File() : base(new Database(), "SELECT * FROM tblFiles WHERE 1=0") {}
---
b { font-weight: normal; }
|
|
|
|
|
I don't what your error is, but this is wrong:
phuonghoyden wrote: if(dr[“fkTeamID”]=null)
dr[“fkTeamID”] = 0;
if should be:
if(dr[“fkTeamID”]==null)
dr[“fkTeamID”] = 0;
--------
"I say no to drugs, but they don't listen."
- Marilyn Manson
|
|
|
|
|
Hello,
i want to start a function every day at 23:00, without the win task manager...
Ask for assistance
Thanks!!!
|
|
|
|
|
Then you have to have a program running, or a service, that checks the time periodically to know when to run the function.
---
b { font-weight: normal; }
|
|
|
|
|
|
Hi,
i have two application connected with socket and both are listening commands.
the listening function is in an assembly, i create the instance of class which is in that assembly and call the listen function, that function contains the delegate when command arrive that delegate execute's the Form's function and in form's function i am calling another form's method in which i am making control visible.Due to which my form hanged.the control is panel.
kindly help me.
Mubasher
|
|
|
|
|
|
|
Hi,
i have two application connected with socket and both are listening commands.
the listening function is in an assembly, i create the instance of class which is in that assembly and call the listen function, that function contains the delegate when command arrive that delegate execute's the Form's function and in form's function i am calling another form's method in which i am making control visible.Due to which my form hanged.the control is panel.
kindly help me.
Mubasher
|
|
|
|
|
I have created a basic text editor and I want to add a function so two computers that are linked together via network can edit the same document if they are both running the text pad. I have a menu called networking and I want a menu item called mnuconnect to connect you to the other computer. It will then detect if the other user is suing the text pad and if it says yes, you click on it and it sends a message which says: "<username> wantes to connect to your text pad." OK to continue cancel to get a message saying "<username> has denied you access"
I have a chat box and send button on bottom of text pad so that two users can communicate> When you click send it will display the contents of whats in the text box txtchat to the other computer via a message box. When Message box and it only has a OK box.
How would I do any of these
In the end we're all just the same
|
|
|
|
|
hi
i want delete all records in access db with datarow (because datarow delete only one record at time and when i use for loop i don't result)
and how to update datagrid when all records deleted (datagrid refresh has't result).
thanks.
|
|
|
|
|
|
Hello, My first post here. I have tried to find answers both here and elsewhere but haven't found any. Perhaps I don't know what to look for, or maybe I'm just not looking good enough.
Anyhow, here we go: I am writing an application that presents various data that is updated quite frequently (right now every 200 msecs but that might change). Some data is presented using textboxes, some using graphic controls written by myself using GDI+. The interface also has standard buttons, radiobuttons, groupboxes and tab pages. Here's a couple of questions that's been bathering me...
1. Using SetStyle() I got rid of flicker in my own control(s), but some of the other controls still flicker. For instance the text in the tab pages and groupboxes flicker (but not the borders etc, only the Text-property). Does SetStyle double buffering only work on user defined controls, or have I missed something fundamental here? Most solutions that adresses flicker problems seems to assume you're only working with your own controls. Haven't found anything about the standard controls...
2. When defining my own controls, is there a rule of thumb what to inherit from? When is UserControl preffered and when is the nearest Form-based control better? For instance, one of my controls is a gauge. It has no particular functionality common with the standard controls so I chosed UserControl. How should I reason?
Thanks for any help. I can provide more info but I start with this as I'm not quite sure what I actually want to know...
Jens Olsson
-- modified at 3:59 Monday 6th March, 2006
|
|
|
|
|
1) Well, SetStyle is a protected method, so you can/should only use it on your own custom controls. But there's a hack:
Public Shared Sub SetStyle(ByVal control As Control, ByVal flag As ControlStyles, ByVal value As Boolean)
Dim flags As Reflection.BindingFlags = Reflection.BindingFlags.Instance Or Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.DeclaredOnly
Dim method As Reflection.MethodInfo = control.GetType().GetMethod("SetStyle", flags)
Dim params As Object() = {flag, value}
method.Invoke(control, params)
End Sub
This VB.Net code allows you to set styles on any control you like. It doesn't work on every control though, but you can try it out.
2) I think everyone has their own ideas about this but i do it this way: Design the control as a UserControl, because of the easy designing. After the designing is done i change the base class: If i make a container like a groupbox or a panel, i inherit from panel, else i just inherit from control. In my opinion UserControl has a lot of useless properties and methods.
Just my €0,02
"..Commit yourself to quality from day one..it's better to do nothing at all than to do something badly.."
-- Mark McCormick || Fold With Us! || Pensieve || VG.Net ||
|
|
|
|
|
Thanks for the answer! I'll try that hack for sure, but right now I have solved it by manually keep track of all controls that needs frequent updates and I only Invalidate() those. Until my GUI is filled with such controls this helps. It's a bit overkill to Invalidate() the entire form and all its contents after all.
But I'm still curious why it isn't meant to use double buffering together with standard controls. In the end I might just end up using only my own controls anyway but I'm new to C# and I try to pick up as much info as possible along the way...
I think you're approach to UserControl makes sense. So it is very much a matter of taste isn't it?
Again, thanks for the reply, really appreciated!
kind regards,
Jens Olsson
|
|
|
|
|
You're welcome!
No wonder everything flickered if you invalidate the entire form every time!
The way i do it: You can set properties on controls, and call functions and stuff. If a property has changed on a control, i think it's the responsability to invalidate when neccesary. Also the way a control paints should be controlled by the control itself.
Architecture-wise i think is a good design, and the whole standard framework (System.Windows.Forms) does this too. For example, if you change the Text property on a Label, the Label invalidates itself, there's no need for you ti invalidate it a second time. My custom controls do the same: if the control should be repainted, it's the responsability of the control itself to make it paint/invalidate.
Why doesn't every control have double-buffer? Well, a lot of controls in System.Windows.Forms are just .Net wrappers around Windows controls. So the painting gets done by Windows, not by .Net (think about Visual Styles). I heard they changed this in .Net 2, but in 1.0 and 1.1 this is just the way it goes.
- Marc
"..Commit yourself to quality from day one..it's better to do nothing at all than to do something badly.."
-- Mark McCormick || Fold With Us! || Pensieve || VG.Net ||
|
|
|
|
|
Well, now I'm on track.
Invalidating the entire form was something I immediately felt was bad but I thought in a naive manner that it would work ok since I did't have that many controls.
Now I have to figure out how to adapt my program to this behaviour. There's plenty of data in an array that I obtain using an IPC call and after that I have to map all values to their respective controls. Right now the class that provides this array implements a delegate that the gui implements. From there I can easily access the array (ie the values read).
Well, that's off topic. If I change a property will it be invalidated no matter what? For instance, if I change the text property of a label, is any work done even if this control is on a tab page that is not visible? I mean, if I change values 4-5 times per sec I wouldn't want controls to be updated if they'r not visible...
|
|
|
|