Click here to Skip to main content
15,905,867 members
Home / Discussions / C#
   

C#

 
GeneralRe: Handling keystrokes Pin
Luc Pattyn19-Dec-07 5:15
sitebuilderLuc Pattyn19-Dec-07 5:15 
GeneralRe: Handling keystrokes Pin
jesarg19-Dec-07 10:12
jesarg19-Dec-07 10:12 
GeneralPropertyGrid Pin
netJP12L19-Dec-07 4:27
netJP12L19-Dec-07 4:27 
GeneralRe: PropertyGrid Pin
TJoe19-Dec-07 5:30
TJoe19-Dec-07 5:30 
GeneralRe: PropertyGrid Pin
netJP12L19-Dec-07 5:37
netJP12L19-Dec-07 5:37 
AnswerRe: PropertyGrid Pin
TJoe19-Dec-07 6:05
TJoe19-Dec-07 6:05 
GeneralRe: PropertyGrid Pin
netJP12L19-Dec-07 6:58
netJP12L19-Dec-07 6:58 
AnswerRe: PropertyGrid Pin
TJoe20-Dec-07 3:00
TJoe20-Dec-07 3:00 
Maybe I should have been more clear in my answer. There is no correct way to do this. The article you posted uses internal control names to find the proper control inside the PropertyGrid. The name "System.Windows.Forms.PropertyGridInternal.PropertyGridView+GridViewEdit" is internal to the PropertyGrid and could be changed by Microsoft. So this means your application may just stop working at some point.

Using Reflection (or in this case internal control names), you can gain access to any field/property/method/event in a .Net class. This includes all private and internal members. It is highly recommended that you don't do this, because again the creator of the class can change the inner workings at anytime (thus breaking your application).

That aside, the article's code is pretty straight forward. An attribute is created so that the developer can mark each appropriate property with a "format". Then the custom PropertyGrid looks for that format and restricts the input.

I *think* that you would need to:

1. Create an attribute that takes a maximum length and apply this attribute to your properties.
2. In CustomPropertyGrid, you can remove the m_TextBox_TextChanged method, because you won't need to use that to enforce the max length.
3. In CustomPropertyGrid, replace the parts of code where the m_TextBox_TextChanged method is assigned to and removed from the TextChanged event so that you set and reset the MaxLength property, respectivly.

Give it a shot, if you have problems then email me and I can help you work through it.
Take care,
Tom

-----------------------------------------------
Check out my blog at http://tjoe.wordpress.com

GeneralRe: PropertyGrid Pin
netJP12L20-Dec-07 5:26
netJP12L20-Dec-07 5:26 
GeneralRe: PropertyGrid Pin
TJoe20-Dec-07 5:59
TJoe20-Dec-07 5:59 
Generalhelp quick Pin
nta_388619-Dec-07 4:26
nta_388619-Dec-07 4:26 
GeneralRe: help quick Pin
m@u19-Dec-07 4:45
m@u19-Dec-07 4:45 
GeneralRe: help quick Pin
Paul Conrad24-Dec-07 19:43
professionalPaul Conrad24-Dec-07 19:43 
GeneralProblems with PAINT program Pin
Luc Pattyn19-Dec-07 5:21
sitebuilderLuc Pattyn19-Dec-07 5:21 
GeneralSession Pin
anupamwb19-Dec-07 3:38
anupamwb19-Dec-07 3:38 
GeneralRe: Session Pin
DotNetXenon19-Dec-07 9:57
DotNetXenon19-Dec-07 9:57 
GeneralRe: Session Pin
anupamwb20-Dec-07 3:02
anupamwb20-Dec-07 3:02 
GeneralGenerics - How to implement Compare Methods Pin
gunner_uk200019-Dec-07 2:27
gunner_uk200019-Dec-07 2:27 
GeneralRe: Generics - How to implement Compare Methods Pin
OsoreWatashi19-Dec-07 2:52
OsoreWatashi19-Dec-07 2:52 
GeneralRe: Generics - How to implement Compare Methods Pin
LongRange.Shooter19-Dec-07 11:18
LongRange.Shooter19-Dec-07 11:18 
QuestionCapturing messeges from other program Pin
OsoreWatashi19-Dec-07 2:14
OsoreWatashi19-Dec-07 2:14 
AnswerRe: Capturing messeges from other program Pin
TJoe20-Dec-07 3:11
TJoe20-Dec-07 3:11 
GeneralRe: Capturing messeges from other program Pin
OsoreWatashi28-Dec-07 3:45
OsoreWatashi28-Dec-07 3:45 
General[Message Deleted] Pin
eyeseetee19-Dec-07 1:02
eyeseetee19-Dec-07 1:02 
GeneralRe: strange problem with stored procedure Pin
Pete O'Hanlon19-Dec-07 1:18
mvePete O'Hanlon19-Dec-07 1:18 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.