|
Are you hooking the other events? Like KeyPreview or KeyPress? It works perfectly for me.
The only thing I have in my KeyDown event is:
if (e.Control && e.KeyCode == Keys.I)
{
MessageBox.Show("Ctrl+I");
}
So, if it's not getting there, then you must be handling the "I" KeyDown in some other method.
[UPDATE]
Sorry, I didn't see it was a RichTextBox. Just add this into your KeyDown:
if (e.KeyCode == Keys.I && e.Control)
{
e.SuppressKeyPress = True;
e.Handled = True;
ToggleFormat(FontStyle.Italic);
}
modified on Tuesday, May 11, 2010 1:40 PM
|
|
|
|
|
Hi,
Thank you for your response. It is actually executing the ToggleFormat(FontStyle.Italic); however after setting the font to Italic, it is erasing what was highlighted. CTRL/B and CTRL/U does not erase what was highlighted with the mouse.
So a better question is how do you prevent CTRL/I from erasing. I tried playing around with the AcceptTabs without any luck.
Glenn
|
|
|
|
|
Well, as I said, you would have to use the SuppressKeyPreview value within the Keydown code. Though what I found was that sometimes, it didn't work. For instance, if I set SuppressKeyPreview to true and then did a MessageBox, it went ahead and erased the line.
This was the code that I got to work:
private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.I)
{
e.SuppressKeyPress = true;
e.Handled = true;
SetItalic();
}
}
private void SetItalic()
{
if (richTextBox1.SelectionFont.Italic)
{
richTextBox1.SelectionFont = new Font(richTextBox1.Font, FontStyle.Regular);
}
else
{
richTextBox1.SelectionFont = new Font(richTextBox1.Font, FontStyle.Italic);
}
}
This code toggled Italic without erasing anything.
|
|
|
|
|
That did the trick!! -- Thank you very much!!
Glenn
|
|
|
|
|
try
myRTB.AcceptsTab=true;
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|
|
Hello
The property AllowsSomePage in the PrintDialog allow to define a page range to Print
However it will be much more usefull in the PrintPreview dialog
Do someone knows if there is some ways to customize the PrintPreview dialog to add this feature ?
Thanks for any help
|
|
|
|
|
One of my so called 'colleagues' has just written a class with over 8000 lines of code. Apart from it being a nightmare to understand is there any peformance implications or any other good reasons I can use as evidence to try and put a stop to this practice! It's not a witch hunt, honest...
|
|
|
|
|
IMO readability is key.
If there are huge methods, consider splitting them up (and reusing some parts).
If there are lots of small methods, consider replacing them by fewer more general-purpose ones.
In short, look for ways to do the same thing with less code, however not at the expense of readability.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|
|
From a maintenance standpoint, yes, there will be a performance hit. From a execution standpoint, that's a lot of code, and so it's going to impact overall performance of the app. Without seeing the code, we can't recommend changes, but I would start by performing a code review to see WHY the class is 8000 lines long. You might be able to move some of the functionality into a global static class, or if some of the code is used elsewhere, make a base class from which to derive other classes.
.45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
This article[^] recommends 2000 lines of code max, which sounds manageable, though it is about readability more than anything. We have a few classes at around 3000-4000 lines, however most of that is GUI code. The Infragistics grid is particularly good at adding 1000 random lines of code to your class just because you set the border to be blue! Use of regions and partial classes help.
For a non-GUI class I would suspect it is doing the job of two or more classes if there is that much code in there.
Time to refactor with an axe.
|
|
|
|
|
Tony Pazzard wrote: lines of code
What's
a
line
of
code?
|
|
|
|
|
PIEBALDconsult wrote: What's a line of code?
a comment or a statement, except when that would exceed reasonable width and needs to be chopped.
Most people prefer spaces over newlines for separators ...
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|
|
Oh,
a
statement
is
a
line
of
code
?
|
|
|
|
|
I'm sorry, at the moment your sentence can't be all displayed at once, so I can't provide a substantive reply to it. I'm still saving for that skyscraping monitor, and looking for a tall spot to put it.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read formatted code with indentation, so please use PRE tags for code snippets.
I'm not participating in frackin' Q&A, so if you want my opinion, ask away in a real forum (or on my profile page).
|
|
|
|
|
Tony Pazzard wrote: class with over 8000 lines of code.
Ideally, this should not have been the case.
As a basic pattern a class should be decoupled and cohesive - thus probably making it smaller (than 8000 lines).
However, I suppose there are exceptions to this.
|
|
|
|
|
Hm, we have some even bigger classes, e.g. that one just opened in my Visual Studio has 12230 lines. It was really nice to work through such long classes in last year's i18n project...
|
|
|
|
|
How long is a public key supposed to be?
I look at some code that someone else wrote, in AssemblyInfo, in an InternalsVisibleTo attribute and notice the key is really long.
I use sn.exe, create a strongly typed name, reference it in a project, compile, and use
sn -T <filename> and get a short key like 16 characters or so.
|
|
|
|
|
|
Hi guys,
I develop a csharp smart device application
In order to establish a TCP/IP connection to my .mdf database,I use the above connection string:
string sConnection = "Provider=SQLOLEDB;Data Source=127.0.0.1,7438;Persist Security Info=True;Network Library=dbmssocn;Initial Catalog=GMAO;User ID=sa;Password=sa";
where the Data source is the @of my server that I found due the netstat -an command:
C:\Users\Admin>netstat -an
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:7 0.0.0.0:0 LISTENING
TCP 0.0.0.0:9 0.0.0.0:0 LISTENING
TCP 0.0.0.0:13 0.0.0.0:0 LISTENING
TCP 0.0.0.0:17 0.0.0.0:0 LISTENING
TCP 0.0.0.0:19 0.0.0.0:0 LISTENING
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:515 0.0.0.0:0 LISTENING
TCP 0.0.0.0:990 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1433 0.0.0.0:0 LISTENING
TCP 0.0.0.0:2103 0.0.0.0:0 LISTENING
TCP 0.0.0.0:2105 0.0.0.0:0 LISTENING
TCP 0.0.0.0:2107 0.0.0.0:0 LISTENING
TCP 0.0.0.0:2383 0.0.0.0:0 LISTENING
TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING
TCP 0.0.0.0:49153 0.0.0.0:0 LISTENING
TCP 0.0.0.0:49154 0.0.0.0:0 LISTENING
TCP 0.0.0.0:49155 0.0.0.0:0 LISTENING
TCP 0.0.0.0:49156 0.0.0.0:0 LISTENING
TCP 0.0.0.0:49159 0.0.0.0:0 LISTENING
TCP 0.0.0.0:49160 0.0.0.0:0 LISTENING
TCP 0.0.0.0:54667 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1801 0.0.0.0:0 LISTENING
TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING
TCP 127.0.0.1:7438 0.0.0.0:0 LISTENING
TCP 127.0.0.1:49172 127.0.0.1:49173 ESTABLISHE
TCP 127.0.0.1:49173 127.0.0.1:49172 ESTABLISHE
TCP 127.0.0.1:49185 127.0.0.1:49186 ESTABLISHE
TCP 127.0.0.1:49186 127.0.0.1:49185 ESTABLISHE
TCP 192.168.1.5:139 0.0.0.0:0 LISTENING
TCP 192.168.1.5:50303 69.63.190.10:80 TIME_WAIT
TCP 192.168.1.5:50309 92.122.217.40:80 TIME_WAIT
TCP 192.168.1.5:50317 65.54.166.122:80 ESTABLISHE
TCP 192.168.1.5:50321 64.4.30.89:80 ESTABLISHE
TCP 192.168.1.5:50322 65.54.166.122:80 ESTABLISHE
TCP 192.168.1.5:50324 65.54.166.122:80 ESTABLISHE
TCP 192.168.1.5:50327 69.63.176.193:80 ESTABLISHE
TCP [::]:7 [::]:0 LISTENING
TCP [::]:9 [::]:0 LISTENING
TCP [::]:13 [::]:0 LISTENING
TCP [::]:17 [::]:0 LISTENING
TCP [::]:19 [::]:0 LISTENING
TCP [::]:80 [::]:0 LISTENING
TCP [::]:135 [::]:0 LISTENING
TCP [::]:445 [::]:0 LISTENING
TCP [::]:515 [::]:0 LISTENING
TCP [::]:990 [::]:0 LISTENING
TCP [::]:1433 [::]:0 LISTENING
TCP [::]:2103 [::]:0 LISTENING
TCP [::]:2105 [::]:0 LISTENING
TCP [::]:2107 [::]:0 LISTENING
TCP [::]:2383 [::]:0 LISTENING
TCP [::]:49152 [::]:0 LISTENING
TCP [::]:49153 [::]:0 LISTENING
TCP [::]:49154 [::]:0 LISTENING
TCP [::]:49155 [::]:0 LISTENING
TCP [::]:49156 [::]:0 LISTENING
TCP [::]:49159 [::]:0 LISTENING
TCP [::]:49160 [::]:0 LISTENING
TCP [::]:54667 [::]:0 LISTENING
TCP [::1]:1434 [::]:0 LISTENING
TCP [::1]:1801 [::]:0 LISTENING
TCP [::1]:5679 [::]:0 LISTENING
In fact,the sql server listens to port 1433 but i don't found this in the command.
Also when running my program,this error annoys me:
Unknown connection option in connection string: provider.
what is the problem???
I found the connectionstring format in this link http://support.microsoft.com/kb/287932/[^] in order to depass the error :"Specified sql server not found or access denied"
Thank u for u clarification
|
|
|
|
|
Are you using SqlConnection? In that case you do not need to give "provider".
If you are getting access denied errors, check if the server allows remote connections using TCP/IP and Server browser service is running. Also check if the provided credentials have access to the server.
|
|
|
|
|
Hi,
I use sqlConnection because I need to connect to .mdf database in a smart device application.The server is local and allows TCP/IP connection.The server browser is running.
U last sentence "Also check if the provided credentials have access to the server.",I don't understand it
Thanks
|
|
|
|
|
Is that an attached DB file? Take a look at this[^] page. It shows all the options you have with SqlConnection.
|
|
|
|
|
Hi,
Do u mean by attach database file by:join the database file to database field in sql server?If this,I do it.
My code is below:
private void Form6_Load(object sender, EventArgs e)
{
string sConnection = "Data Source=127.0.0.1,1433;Persist Security Info=True;Initial Catalog=GMAO;User ID=sa;Password=sa";
string sSQL = "SELECT [M-MO] FROM Marge; ";
SqlConnection conn = new SqlConnection(sConnection);
SqlCommand comm = new SqlCommand(sSQL, conn);
SqlDataReader dr = null;
try
{
comm.Connection.Open();
dr = comm.ExecuteReader();
while (dr.Read())
comboBox1.Items.Add(dr[0]);
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
return;
}
dr.Close();
comm.Connection.Close();
}
If the program connects to the server,it will fill the combobox with data of the select statement.
But,the error"Specified sql server not found or access denied lets me cry.
Thanks
|
|
|
|
|
Hi,
Thanks I depass the problem of the connexion to the server due to the DB File attachmen
Still now the problem in the filling of my combobox.In fact,no exception appears so connection to server works well.In other hand,nothing is added to my combobox.
I try to replace my sqldatareader by sqldataset but still the same thing:
string sConnection = "Data Source=127.0.0.1,1433;Persist Security Info=True;Initial Catalog=GMAO;User ID=sa;Password=sa";
string sSQL = "SELECT com FROM energie; ";
SqlConnection conn = new SqlConnection(sConnection);
SqlCommand comm = new SqlCommand(sSQL, conn);
DataSet ds = new DataSet();
SqlCeDataAdapter da = new SqlCeDataAdapter();
SqlDataReader dr = null;
try
{
comm.Connection.Open();
da.Fill(ds, "SQL Temp Table");
foreach(DataRow d in ds.Tables[0].Rows)
comboBox1.Items.Add(d.ToString());
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
return;
}
dr.Close();
comm.Connection.Close();
}
How do I depass that???
Thank u
|
|
|
|
|
First, did you notice that when you wrote the connection string, you used a comma to identify the port instead of a colon?
Data Source=127.0.0.1,7438
Also, are you sure the SQL Server isn't listening on port 1434 or that it is running? If SQL server is listening on port 1433, then you need to use the port it's listening on.
|
|
|
|