|
For me it happens only for user controls upon compilation, but not for custom controls Is it possible to configure it somewhere?
rado
Radoslav Bielik
http://www.neomyz.com/poll [^] - Get your own web poll
|
|
|
|
|
I didn't understand that there was a difference between the two. What do you mean by "custom control"?
John
"You said a whole sentence with no words in it, and I understood you!" -- my wife as she cries about slowly becoming a geek.
|
|
|
|
|
Sorry for the confusion and thanks for the response, when you choose to "Add User Control" to the project, and select the "Custom Control" template, the new control is derived from System.Windows.Forms.Control , whereas when you choose the "User Control" template (this one is preset by default), the new control is derived from System.Windows.Forms.UserControl .
The Heath's response below provides a detailed answer to my question and explains why only the controls derived from UserControl appear in the toolbox.
rado
Radoslav Bielik
http://www.neomyz.com/poll [^] - Get your own web poll
|
|
|
|
|
Ah, yes. Basically, if you simply want a new control to use on your forms, inherit from UserControl. If you want a control that is not designable, then inherit directly from Control. (There are other technicalities, but the intended goal of the control is what matters most.)
John
"You said a whole sentence with no words in it, and I understood you!" -- my wife as she cries about slowly becoming a geek.
|
|
|
|
|
Thank you for your response. But when I want to create something like an owner drawn button, I guess the best way would be to derive from System.Windows.Forms.Button to inherit most of the button functionality, which will make my new button control not designable. Is this correct, or is there a better approach?
Thanks again,
Rado
Radoslav Bielik
http://www.neomyz.com/poll [^] - Get your own web poll
|
|
|
|
|
Since Button is already designable, I believe that a class inheritting from Button will be as well. Go ahead and try it if you haven't already. (Just add a new UserControl to your project, then change "UserControl" to "Button". See what happens.)
John
"You said a whole sentence with no words in it, and I understood you!" -- my wife as she cries about slowly becoming a geek.
|
|
|
|
|
Radoslav Bielik wrote:
Is it possible to have VS automatically recognize my custom controls as well or not?
Specifically, what do you mean?
- Nick Parker My Blog
|
|
|
|
|
The documentation states that this behavior only works on controls derived form System.Windows.Forms.UserControl .
If you want to create a custom designer, however, you can have other controls show up for designed components (that use that designer) through various means. You can, for instance, request the IToolboxService in your Initialize override in your designer and add ToolboxItem s and categories. You can also do this with your control without using a designer by override the Site property. If you look at the documentation for the System.Drawing.Design.ToolboxItem class in the .NET Framework SDK, you can see an example of this latter method.
There's many other ways to do something like this, too. I'd recommend you look over the System.ComponentModel , System.ComponentModel.Design , System.Drawing.Design , and System.Windows.Forms.Design namespaces. There's a lot of great classes and interfaces in there you can use. There's also topics in the .NET Framework SDK that talk about designers, editors, and other ways to extend design-time development for your controls.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Thank you for the detailed information and references, I will check this out.
I have just one more question: what is the "best practice" when creating my own control? I guess that when I want to create something like owner drawn button it is the best to derive from System.Windows.Forms.Button , but when I want to create some simple brand new control (like an etched line) should I derive from System.Windows.Forms.Control or from System.Windows.Forms.UserControl ? What are the differences?
Thanks again,
rado
Radoslav Bielik
http://www.neomyz.com/poll [^] - Get your own web poll
|
|
|
|
|
It depends. Deriving from Control is good when you want to encapsulate a native control or create a custom control that is a single entity (probably not the best choice of words, but let me explain...). A Button , for example, is just a button (encapsulating a Button common contorl). A ListView encapsulates a List-View common control. While the ListView has a column header, a scroll bar, etc., it still is a single control.
UserControl s, however, encapsulate functionality provided by many controls. It also derivces from ContainerControl which derives from ScrollableControl . Thus, it is a container of other controls that can, if configured, scroll when the controls it contains are hidden due to the size of their container (i.e., the UserControl -derivative).
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Thanks for a very good explanation! Sometimes I wonder how do you manage to provide such a great help to all the people in the message boards - your help is priceless! Thanks again
Rado
Radoslav Bielik
http://www.neomyz.com/poll [^] - Get your own web poll
|
|
|
|
|
Actually, 2!
1- If we use InternetExplorer object instead of AxWebBrowser object, does it fetch pages any faster because it's not required to fetch the images on the HTML pages too?
2- Is there a way to set the properties of the AxWebBrowser used in the project without affecting the global settings? For example: I don't want the browser in my project to display images, or for instance, I want it to be offline, but not the other IEs in Windows. Possible?
Thank you.
Sammy
"A good friend, is like a good book: the inside is better than the cover..."
|
|
|
|
|
- Internet Explorer uses the WebBrowser object, so there really is no difference. The InternetExplorer automation server is just an out-of-process container for the WebBrowser control (which hosts and provides services to MSHTML). So no, it won't fetch pages any faster.
- Settings for the WebBrowser control (and many affect MSHTML in general) are global. Only a few things like printer settings can you override on a per-instance basis. You can use the hosting interfaces, however, to control a few aspects of the WebBrowser control, such as the context menus, URL resolution when a link is clicked, and several other things. See Using MSHTML Advanced Hosting Interfaces[^] for more information.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
I am working on a project in which we have to provide a UI to user in which all frames belonging to a selected mpeg2 video file are displayed. User then assign some attribute to each frame and then we have to store that video with those attributes added to each frame. Can any one give some idea about libraries or API's or controls which can help us.
|
|
|
|
|
hey guys i have a question
i have a project that uses voice wich input to the pc through microphone so i need to know how to catch voice from the mic and deal with it as binary bits using C# code
thanks to u all
Abkarino
|
|
|
|
|
You can use the Microsoft Speech SDK[^], although it's still in beta stages. You can use older versions but they rely on COM components for the most part that you can use from your .NET applications through a COM interop assembly (which you can generate through VS.NET or using tlbimp.exe for typelibs and aximp.exe for ActiveX controls. There are several ActiveX controls included, but you will need to redistribute the Speech runtime in order for users to use this (there are Merge Modules for Windows Installer projects available).
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
hey i'm doing a project which enables the user to control windows through voice (Ex:-if the users says open word it should open MSWord), i want to know how this can be done.
thank you
bindu0123
|
|
|
|
|
Hi,
I had written a windows servcie which creates a message queue .I write some data into the queue & read it back when the receive _completed event is fired.
I have 2 issues:
1) I can write a single msg into the Queue & read it back from my service .If I view under in Computer Management - Service & Applications - Message queuing -private queues , I get the msg " Access Denied".
2) How do I write approximately 100 msgs into the queue continuously & read it back one by one.
Can Anybody help me with these issue?
Thanks in advance
Priya
|
|
|
|
|
It depends on what kind of queue you created. If you've created a private queue, then the queue runs under the permissions configured for the Windows Service. If you're running the service as the LocalSystem account, you won't be able to access it. Same goes if you're running it as another user, unless you impersonate that user access will be denied. Create a public queue instead.
As far as writing messages continuously while reading them, you should create a separate thread or threads for writing to the queue or use asynchronous calls to send messages while you continue reading them one by one (which is all you can do since they are queued).
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
A have a panel which contain several objects which are lager than the panel. The autoscroll setting is set true.
How can i now enable the scroll wheel of my mouse for scrolling througt the panel.
Thanks
Jonathan Slenders
|
|
|
|
|
The Panel (or any control deriving from ScrollableControl and most other controls with scroll bars) already supports the scroll wheel. Check your mouse settings in the Mouse control panel applets in your Control Panel folder. Make sure it recognizes the mouse and is using the correct driver, and make sure the scroll wheel settings are correct.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Subclass your panel using System.Windows.Forms.NativeWindow. Process the WM_MOUSEWHEEL message.
|
|
|
|
|
I am new to office development so I have a question. I have a database where rtf files are stored in image filed. From my application I need to show this rtf document in word application. I think I have to use office application PIA's.
One solution would be to save this image filed (rtf document) in some temp directory but then I would not be able to delete this file becouse I would not know when the user would stop using it.
So is there a way I can open this image field (rtf file as System.Byte[]) in word application not saving it before on physical drive?
thenx a lot
|
|
|
|
|
Why don't you show them in a RichTextBox if they are i RTF format ? With its LoadFile() function you can show stream of data.
Mazy
No sig. available now.
|
|
|
|
|
If this is only RTF, you could use System.Text.Encoding.ASCII or System.Text.Encoding.Unicode (depending on how the RTF is stored) to convert to byte[] array to text and assign it to the RichTextBox.Rtf property.
If you need to use Word instead, you'll have to save this to a temporary file. The only way to load a stream is with a structured storage document, which RTF isn't (only compound documents like Word Documents are). Since you would be using the Office PIAs, however, you'll have to create an instance of Word.Application. Since you have that reference, you can attach events to know when the application is closed, or even if a document is closed. In this event handler, you can delete the temporary file.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|