|
You can do it in CurrentCellChanged event of datagrid.
Mazy
"Man is different from animals in that he speculates, a high risk activity." - Edward Hoagland
|
|
|
|
|
I want to how I can hook the keyboard and mouse messagea using c#?
saleh
|
|
|
|
|
|
|
If you only want to hook these messages in your application, implement IMessageFilter and add an instance of your implementation to the list of message filters using Application.AddMessageFilter . See the documentation for the aforementioned method for more information and an example.
If you only want to do this for an application, DO NOT use a system-wide hook as you'll degrade the performance of the entire system at the cost of your application, and could possibly corrupt the entire system if you don't implement it correctly or efficiently. Also, the second response will only work per-Form and only if you have KeyPreview set to true so that the parent (the Form ) receives and processes messages sent to the child. You would have to do this on every form, then, which is pretty inefficient and can lead to code duplication.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi,
I want to know how can I make the listview scroll to index that I want to view?? e.g If I have 100 items in my listView, I want to view it start from items 40 ~ , or I wnat to the range start from 80..??
Is there any way can do that? I've tried to use .items[index].selected = true. but seems doesn't work. Can someone tell me..
Thanks a lot
|
|
|
|
|
Selected only makes it the selected item. To make sure it's visible, use listView1.Items[index].EnsureVisible() . This won't make it selected, but you've already figured out how to do that.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thank you very much ~!!
It works, but is it possible to make the selected range always display in the middle of list view??
I just set the start and end index to visible, am I correct ?
listView1.Items[start].EnsureVisible();<br />
listView1.Items[end].EnsureVisible();
but sometimes, the range showed at very bottom.
e.g. if I currently seeing item 5~20, then I wnat to jump to see item 70~80, so the items display 70~80 at the bottom.
Is there a way to improve ?
thank you
|
|
|
|
|
EnsureVisible only makes sure the item is visible. "It" doesn't care where in the list view it's visible.
If you always want a certain number to be at the top or anything of that nature, you can always calculate the position of what item you want at the top and send the SBM_SETPOS to the control (which gets passed to the scroll bars) or use the SetScrollPos function (recommended).
So, if you wanted item 70 to be at the top, you would do something like this:
[DllImport("user32.dll")]
[return:MarshalAs(UnmanagedType.SysInt)]
private static extern int SetScrollPos(IntPtr hWnd,
[MarshalAs(UnmanagedType.SysInt)] int nBar,
[MarshalAs(UnmanagedType.SysInt)] int nPos,
bool bRedraw);
private const int SB_HORZ = 0;
private const int SB_VERT = 1;
SetScrollPos(listView1.Handle, SB_VERT, 70, false);
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi Guys,
I tried to insert data into SQL server database using the following code. All data that I received from all my connections (10 socket). It runs for sometime It was able to insert some data then suddenly in the middle of the process I encountered
"The connection is already Open (state=Open)". when it goes to SaveTOSQL.
I declare my DBConnect as modular and with CONNECTION POOLING.
//DBConnect = new SqlConnection("Pooling=true;server=OSSSQL01;database=nfmse;uid=alarmadmin;pwd=alarmadm1n;Min Pool Size=3;Max Pool Size=100;");
Processdata()
{
iRx = theSockId.thisSocket.EndReceive (asyn);
char[] chars = new char[iRx]; // + 1];
System.Text.Decoder d = System.Text.Encoding.UTF8.GetDecoder();
int charLen = d.GetChars(theSockId.dataBuffer, 0, iRx, chars, 0);
StringBuilder szData = new StringBuilder();
szData.Append(chars);
DBConnect.Open();
SaveTOSQL();
}
void SaveTOSQL()
{
string strInsert = "insert into rop values ('" + strjv.Trim() + "','" + strdate.Trim() + "','" + strclass.Trim() + "','" + strFile + "','" + strFile + "')" ;
DBCommand = new SqlCommand(strInsert,DBConnect);
DBCommand.ExecuteNonQuery();
}
PS : I don't close the connection nor the command becuase this is a 24 hour process.
Thanks in advance.
/dabsukol
|
|
|
|
|
Are you sure the error is not actually occurring on DBConnect.Open(); ?
I say this because the debugger will often highlight the line after the one where the error is if the error occurred in a method for which there is no source code.
I cannot see anything in SaveTOSQL() that would generate the message you are getting, and if the error did occur there then you would be saying which line in SaveTOSQL() generated the error.
I suggest that you enclose the DBConnect.Open(); in an if statement checking the State property of the connection before trying to open it.
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question."
--Charles Babbage (1791-1871)
|
|
|
|
|
Yes definitely it's not from DBConnect.Open(). I apologize because the DBconnect was placed on top of the process function meaning it will only be executed once, once the program started.
I was able to solve the problem becuase of too much testing I forgot to remove my other DBConnect.open on one of the function. SORRY IT's my mess....
This is actually the real problem. I will open a new thread as not confused others.
System.InvalidOperationException: There is already an open DataReader associated with this Connection which must be closed first.
at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean executing)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at ossrop.Class1.SaveToSQLDB(String strFile, String strOpt) in d:\ossrop\class1.cs:line 560
|
|
|
|
|
while (samen.EndsWith(",") )
{
string aant = samen.Length.ToString();
int aantal = (int)Convert.ChangeType(aant,typeof(int));
// samen.Remove(aantal - 1,1);
samen.Substring(0,aantal-1);
}
How come this doesn't work? I have a string that ends with a few ',' and i want them out of the string. Replace is not an option because there are other ',' who have to stay in the string. Only the last ones have to be deleted.
Thx in advance!
|
|
|
|
|
string aant = "this is a test,please be guided,";
string newaant="";
newaant = aant.Substring(0,aant.Length-1);
try this one.
thanks
|
|
|
|
|
|
To note why, a string is immutable meaning that anything you do to it creates a new string. If you want a mutable string, use the StringBuilder , but it really wouldn't work so great in this case.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
bertcox wrote:
string aant = samen.Length.ToString();
int aantal = (int)Convert.ChangeType(aant,typeof(int));
Just trying to understand your logic. Why are you getting the length and converting it to a string, then on the next line converting to an integer again?
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question."
--Charles Babbage (1791-1871)
|
|
|
|
|
when i did this it said there was a mistake
int aant = samen.Length();
So i tried another way
|
|
|
|
|
Ah! Okay. You used Length() as a method instead of Length as a property (without the brackets).
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question."
--Charles Babbage (1791-1871)
|
|
|
|
|
Hello Sir:
I am sorry that my english is poor. I need to adjust the space between letter in richtextbox. I already try all I can but fail. Please help me as posible as you can.
Thanks a lot!
nathan
|
|
|
|
|
The RichTextBox control doesn't support changing the spacing between characters.
The only other method I can think of is adding space characters between the characters you want to seperate out.
RageInTheMachine9532
|
|
|
|
|
|
Hello Sir,
I am working on data grid n want to show dropdown list in grid. I found in help that we can do this by declaring grid column as DataGridComboBoxColumn but I haven't find this type of object in list. There are some objects like DataGridBoolColumn, DataGridTextBoxColumn which I am already using. Could u plz tell me to do this. Thanks for ur suppport.
Inpreet Singh
|
|
|
|
|
|
Yes I know about this site had visited n unable to find my way to solution as they told me about DataGridComboBoxColumn object n which I don't find anywhere. So plz if possible tell me where I can find this object or any other wayout. Thanks
Inpreet Singh
|
|
|
|