|
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
|
|
|
|
|
|
I designed 2 form. One is MDI form(i named frmMain) and another is child form (i named frmLoggon).
On frmMain form i got a menuItem (i named menuItem1)
On frmMain Form
private void frmMain_Load(object sender, System.EventArgs e)
{
frmLoggon fLoggon = new frmLoggon();
fLoggon.ShowInTaskbar = false;
fLoggon.ShowDialog(this);
}
On frmLoggon Form i got a button (i named btExit)
private void btExit_Click(object sender, System.EventArgs e)
{
frmMain fMain = new frmMain();
fMain.Menu.MenuItem[0].Enabled = false;
this.close();
}
but the menuItem1 not disabed.
Please help me as posible as you can.
Thanks
Mr Duc Linh Nguyen
|
|
|
|
|
frmMain fMain = new frmMain();
fMain.Menu.MenuItem[0].Enabled = false;
You are just disabling the menuitem which resides on temporary MDI instantiated form. It exists only in btExit_Click procedure scope. So you need some permanent refrence to your MDI form. I'd recommend passing the MDI reference as a parameter to your child form's constructor like this:
private void frmMain_Load(object sender, System.EventArgs e)
{
frmLoggon fLoggon = new frmLoggon(<font color='blue'>this</font>);
fLoggon.ShowInTaskbar = false;
fLoggon.ShowDialog(this);
}
In your frmLoggon constructor:
frmMain _parent;
public frmLoggon(frmMain parent)
{
<font color='green'>
_parent = parent;
}
and finally:
private void btExit_Click(object sender, System.EventArgs e)
{
_parent.Menu.MenuItem[0].Enabled = false;
this.close();
}
I hope this helps.
abcdabcdabcdabcda
Don't forget, that's Persian Gulf not Arabian gulf!
Murphy: Click Here![^] I'm thirsty like sun, more landless than wind...
|
|
|
|
|
Hi, I don't know that, what i am goin to tell u is good wayout but I am sure this will work.
Ur menuItem is not disable bcoz u r make another instance of the main form n then on that u r making it disabled so u need to disable it with first instance. do one thing take a global integer set it as 0 then check on frmMain_Enter() event. if it is still 0 then don't run
Menu.MenuItem[0].Enabled = false;
set interger to 0 so that u can chk it correctly again.
other run this.
Now exiting from frmLoggon thats btExit_Click event set this interger to 1.
simple. I hope u understand what I written. Good Bye
Inpreet Singh
|
|
|
|
|
I want to set and get mouse positions in C#.I also want to get keyboard events.please help me.
mughalali
|
|
|
|
|
I guess you can access to mouse position by using Cursor object.Some thing like this:
Cursor.Position.X
Cursor.Position.Y
abcdabcdabcdabcda
Don't forget, that's Persian Gulf not Arabian gulf!
Murphy: Click Here![^] I'm thirsty like sun, more landless than wind...
|
|
|
|
|
Are you talking about getting the keyboard and mouse positions in your app, or system wide no matter what app actually has the focus?
RageInTheMachine9532
|
|
|
|
|
I want to get keyboard and mouse control in my app.Please tell me how i get or set keyboard events in my app.
Actually iam doing final year project on remote desktop control. so i need to control keyboard and mouse of remote system.
mughalali
|
|
|
|