|
Even I'm confused(not unusal). You want usercontrol1 to call showdialog on itself What's the point?
|
|
|
|
|
A control can't show itself as a dialog. This comes down to Windows styles and messages, since the System.Windows.Forms controls are just wrappers for native controls (Common Controls).
You could add a ShowDialog method that adds the control to a borderless form and shows the form, but you can't show the control itself. It just isn't possible - it needs a Windows frame to host it.
So you could do something like this:
public void ShowDialog()
{
Form f = new Form();
f.FormBorderStyle = FormBorderStyle.None;
f.Size = this.Size;
f.Controls.Add(this);
f.ShowInTaskbar = false;
f.ShowDialog();
f.Dispose();
}
-----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-----
|
|
|
|
|
Hi Heath
I have been trying this method to get access to the UITypeEditors, but I keep on gettting SEHExceptions, any ideas?
Cheers
leppie::AllocCPArticle("Zee blog"); Seen on my Campus BBS: Linux is free...coz no-one wants to pay for it.
|
|
|
|
|
Not really. The description, "Represents Structured Exception Handler (SEH) errors.", doesn't even help much. I take it you're talking about the UITypeEditor s like the ColorEditor (or whatever that nifty one is) that are internal to the .NET BCL? Or just to host your own in a control?
-----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-----
|
|
|
|
|
Heath Stewart wrote:
I take it you're talking about the UITypeEditors like the ColorEditor (or whatever that nifty one is) that are internal to the .NET BCL? Or just to host your own in a control?
Well both, so I can use an existing infrastructure. And reuse my custom editors in the propertygrid again. Have a look at the nightmare of the propertygrid thru a disassembler. Things just dont make sense anymore. Like the "dropdownui" is a control hosted in a form hosted in a control. I mean crazy, and funny unsafe calls... maybe they made it intentionally like that!
Also things like: TypeConvertor.EditValue() returns immediately, so u to somehow block it, without having access to the code, i say man, its a nitemare (R18)
leppie::AllocCPArticle("Zee blog"); Seen on my Campus BBS: Linux is free...coz no-one wants to pay for it.
|
|
|
|
|
|
If you just want to show or hide a UserControl , than you can use one of the following:- Call
Show [^] to show the control, and Hide [^] to hide it again. - Set
Visible [^] to true to show the control, and to false to hide it again.
If you want to do something else, then please clarify it.
- Daniël Pelsmaeker
This is Linux country. On a quiet night, you can hear NT re-boot.
|
|
|
|
|
I want to know the complete information of a Database...
how many tables it have what r there manes...
each table have how many attributes and what r there names......
and want to show it in a treeview...like this
TreeView1.Nodes(0).Nodes.Add(snode)
using OleDbConnection
i execute query like this
select * from emp
Table.Columns.Count
Table.Columns.Item(count).ToString
through this i came to know the column number and name
but want to know full information about a database.....
Nothing ...........................................................
|
|
|
|
|
ADO.NET is a set of abstract classes. It isn't meant to provide you with everything, nor is the rest of the .NET Framework for that matter. If the database you're querying supports schema information queries, you can use that information (SQL Server does, see the SCHEMA_INFORMATION tables you can query, but in that case you'd be better off using the System.Data.SqlClient namespace for better optimizations for SQL Server).
If the database doesn't support schema information, you'll probably have to start P/Invoking a lot of the old ADO calls (note, that's not ADO.NET, just ADO). Because that, too, is an abstract API (though not quite as abstract), it might not get you everything you want to know either. Many times, though, the OLE DB provider can get you that stuff, but it is usually specific to the OLE DB provider, not to ADO itself.
-----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 didnt get the point pzl tell me the more speacific....
Nothing ...........................................................
|
|
|
|
|
There's far too much to cover in a forum thread. I gave you several pointers; you'll have to research this if you want to do it. Research is an all-too-important part of R&D.
There's plenty of information about ADO and various OLE DB drivers in the
-----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-----
|
|
|
|
|
Hi
I wish to assign icons to the various buttons in my application by referencing them from an icon library in which they are present. Please let me know how i can do that.
Thanks in advance
Regs
Sam
|
|
|
|
|
I just want to mention about one way doing this.
You can create a resource dll and embed your resources to this dll choosing the Build Action as Embedded Resource.
Then you can reach this icons as librray items.
Imagine yo have the icon test.ico in IconLibrary namespace and you want to change your form's icon.
System.IO.Stream st=assemblyExecuting.GetManifestResourceStream("IconLibrary.test.ico");
form.Icon=new System.Drawing.Icon(st);
System.IO.Stream st=assemblyExecuting.GetManifestResourceStream("IconLibrary.test.ico");
Read the icon as stream
form.Icon=new System.Drawing.Icon(st);
Then set the form's icon. Yo can also use System.Drawing.Bitmap(st) to convert the image to the bitmap.
Once you can get the image from the assembly you can use it in everywhere.
I Hope it helps
|
|
|
|
|
There's also a shortcut using the right Icon constructor, Icon(Type, string) . Like many other constructors (including many attribute constructors), the Type parameter is a type used for resource resolution. For instance, building on your example, lets say that you also had a class in the IconLibrary namespace. Specifying that Type plus "test.ico" in the constructor will cause the CLR to use that Type's namespace and append the resource name. This works a lot like relative paths in relation to directories on a filesystem or in a URL.
So, the same thing would work with less code (and amounts to the same thing):
Icon i = new Icon(typeof(IconLibrary.SomeClass), "test.ico");
form.Icon = i;
Of course, this only works if you have a Type you can reference in that namespace, but I thought I'd mention it because a lot of libraries keep these in the same directories as their respective controls (though not all). In those cases, using this approach is a little easier.
-----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-----
|
|
|
|
|
Many thanks....
You code and explaination is most helpful..i will try it out.
Regards
Sam
|
|
|
|
|
Hi all,
I'm having a stupid question, how can I get the integer that represent the enum?
public enum outputType
{
TIF = 0,
JPG,
BMP,
none
}
I would like to get the integer of this enum, somethings like
int num = (int)outputType.JPG;
how can I do it?
Thank you
|
|
|
|
|
azusakt wrote:
int num = (int)outputType.JPG;
That works for me, did you try this?
-Nick Parker
Last time I checked, all programmers have selective ignorance. I know nothing about 3D graphics. I know a lot about COM. VB gets under people's skin because one can be ignorant of computer architecture and ASM and still get a lot done. - Don Box
|
|
|
|
|
Try this:
public enum OutputType : int
{
None = 0,
TIFF = 1,
JPEG = 2,
BMP = 3
}
[...]
int num = (int)OutputType.JPEG;
You can also use uint , long , char , ulong , byte , ubyte , decimal , double , float , and maybe even string . But I suggest int , since it doesn't put such a heavy load on the processor.
- Daniël Pelsmaeker
One fool can ask more questions than all the wise men can answer.
|
|
|
|
|
Actually, enum values automatically derive from int . And you can't use string (this is well documented in the Enum Type documentation).
Besides, this isn't necessary. The cast is the important thing, and so long as you don't overflow or anything like that. For instance, in your example, all the numbers are small and possitive so you could still cast to a short , long or whatever.
-----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-----
|
|
|
|
|
Hi All,
At runtime,I have created an instance for windows form and added controls in it.I want to save that form using Save dialog box.I need both resx and cs files.Is there any way to save the form created at runtime.
Thanks
Vimal
|
|
|
|
|
If you can create the form at run time then you can recreate it at runtime in the next session. Save to the file the data needed to create the form in the first instance and then when you load the file the data in it will describe the form to your program again. It can then recreate the form.
--Colin Mackay--
"In the confrontation between the stream and the rock, the stream always wins - not through strength but perseverance." (H. Jackson Brown)
Enumerators in .NET: See how to customise foreach loops with C#
|
|
|
|
|
To do it properly you need to use:
using System.CodeDom;
using System.CodeDom.Compiler;
you can use the methods in these classes to serialize your form and generate .cs and .resx files for it and also a .dll file.
It is not easy.
|
|
|
|
|
I have a application that neds to have a listening socket thread. I've created the worker thread but I'm not sure how to access my Windows Form controls from with in the thread. I'l like to update a TextBox with text from within the worker thread.
|
|
|
|
|
|
And just to avoid any possible problems, pay attention to how you use Control.Invoke from the worker thread in that article Mike gave you. This is a common mistake. Updating the UI from thread besides the main thread has "undefined" behavior. Sometimes it works, sometimes it doesn't, and sometimes it screws up your message pump (or, loop) so that some messages aren't handled correctly!
-----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-----
|
|
|
|