What I am really trying to do is make it simple for us to display this warning in all of our applications without having to do any application specific coding. I found that if I created a class derived from the BrowseDialogInformationPanel that I could use this class to sink the TextChanged event of the label in the BrowseDialogWindow's status bar. From there I can determine the number of records returned and, if necessary, display a warning (either in the status bar or as a message box) - all that would be required when developing an application is the use of our derived panel rather than your standard panel. The catch is that there is no way to get access to the MaximumReturnedRecords property of the BrowseDialog class. I could add a MaximumReturnedRecords property to my derived panel but that would require application programmers to set this value in two places (on the panel and on the BrowseDialog object) and I know people would sometimes forget to set them both. So, what I was thinking was that I could go ahead and add the MaximumReturnedRecords property to my panel and also create a derived version of the BrowseDialog object that would set the MaximumReturnedRecords property of the panel to match its own value. Then application programmers would have to use our version of the BrowseDialog and our panel but would get the warning for free.
I investigated the CRM sample you mentioned and found that the derived BrowseDialog that it contains suffers from the same problem as my test - changes made to the BrowseResultsLayout and SearchFields properties are not persisted. I don't want to force application developers to fill these properties through code as the CRM sample does.
Do you know why those properties don't work in derived versions of the BrowseDialog class? Thanks for your help.
Fran Parker