let me come to the point. i have a application that containe a pannel with some no of label controls. dynamically i need to remove or dispose the existing control and i need to create new label controls.
imp is i need to run the disposal or removal in standalone thread. (asyncronous). So i wrote a class which will accept a list of control and will remove the content.
public delegate void DisposingDel(params object aList);
public class AssynClass
public void MyCallback(IAsyncResult iar)
AsyncResult Ars=iar as AsyncResult;
public void DisposeLabel(params object aList)
PlanningBoardSystem.OrderLineLabel CtlIns ;
foreach(Label Ctl in aList)
CtlIns= Ctl as PlanningBoardSystem.OrderLineLabel;
public class IAsyncronousCls
private object obj;
public IAsyncronousCls(params object a )
AssynClass AssynCls=new AssynClass();
DisposingDel DisDel=new DisposingDel(AssynCls.DisposeLabel);
AsyncCallback AsynCback=new AsyncCallback(AssynCls.MyCallback);
See this code is incompleted . If you know please complete this code and get back to me.
i want to invoke GetDIBits function ,this is my code:
public struct BITMAPINFOHEADER
public uint biSize; // DWORD
public long biWidth; // LONG
public long biHeight; //LONG
public uint biPlanes; // WORD
public uint biBitCount; // WORD
public uint biCompression; // DWORD
public uint biSizeImage; // DWORD
public long biXPelsPerMeter; // LONG
public long biYPelsPerMeter; // LONG
public uint biClrUsed; // DWORD
public uint biClrImportant; // DWORD
public struct RGBQUAD
public byte rgbBlue;
public byte rgbGreen;
public byte rgbRed;
public byte rgbReserved;
public struct BITMAPINFO
public BITMAPINFOHEADER bmiHeader;
public RGBQUAD bmiColors; //
code above is the structure definition;
public static extern int GetDIBits(IntPtr hdc, IntPtr hbmp, uint uStartScan,uint cScanLines, out byte lpvBits, ref BITMAPINFO lpbmi, uint uUsage);
BITMAPINFO bmi = new BITMAPINFO();
bmi.bmiHeader.biSize = 60;
bmi.bmiHeader.biBitCount = 0;
IntPtr hScreenDC = CreateDC("DISPLAY",null,null,IntPtr.Zero);
IntPtr hMemDC = CreateCompatibleDC(hScreenDC);
IntPtr hBitmap = CreateCompatibleBitmap(hScreenDC,800,600);
byte lpvBits = null;
int mResult = GetDIBits(hMemDC,hBitmap,0,1,out lpvBits,ref bmi,0);
if( mResult != 0)
the code above is to invoke GetDIBits().The MSDN says if lpvBits is null, bmi should be filled with DC and bitmap Info and mResult should return Non-Zero.
However the mResult is always Zero. How to solve this problem?
thanks for your suggestions.
i choose GetDIBits function for i need to get bits info from hBitmap or hDC and to transfer them on the net.
i think transfer bits quicker than this way: get image first and convert into bits,then to send.
but i do have a subsequent problem : the size may be too large.
You realize there's much easier ways that don't require unmanaged functions? If you're using a TcpClient or some other connection, just get the NetworkStream and write your Bitmap to the stream. Simple. If you want to convert it first (a waste of time), then use either write to a memory stream and then send the bytes, or use the ImageConverter like so:
I am writing my first 'real' C# control. It's a taskbar that can be positioned to Top/Bottom/Left/Right. What I need to know is which event do I need to use to position it to the bottom when it's initially created.
I tried putting the code in the constructor but you cannot get the parent's properties until after creation.
Can someone please point me in the right direction?
You mean docked to a container, like a Form? See the Dock property, which can be set in the constructor.
Also, you can support initialization after instantiation by implementing the ISupportInitialize interface. The VS.NET designer will automatically call the BeginInit method after instantiating your control, and will call EndInit when done in the InitializeComponent call (you can do this yourself, too - I'm just telling you how VS.NET handles controls that implement this interface).
This way, in your implementation of the EndInit interface, you should have a valid Parent reference (so long as your control was added to the parent's Controls collection property) and can do what you need to. Implementing this interface is a great way to suport initialization of your control in steps.
PS: You could do this using your own implementation without implementing the interface, but VS.NET won't care. Implementing the ISupportInitialize interface is a good way to add designer support for your control. There are other designer-oriented things you can do, which are handy for a lot of programmers. Read Enhancing Design-Time Support[^] in the .NET Framework SDK for more information.
Hi all hope all are good
i make a project which i use a neural network iin it so i need to export a DLL file from the nero solution and link it to the C# need help i just found to link nero soultion with C++ 6
hope anyone can help me
thanks in advance
Also, we can't help you if you don't provide specifics. If you have problems declaring a managed method to P/Invoke an unmanaged function, that's something we could help you with. You need to at least learn and try to P/Invoke the functions needed from this nero DLL you're talking about.
Hi Thanks alot for ur replay
but the problem is the nero solution pacakge make a train and test and it can generate a DLL but this DLL is supported by c++ 6 or pervious only i wanna to know if there is a way to link this DLL with C# or if there is a way or an update which make the nero solution generate a DLL file which allow to be linked with an application by C#
byebye for now
There is no linking as you think of it in terms of C/C++. The DLL must export functions (either C-style or C++-style) and the DllImportAttribute is used to configure the metadata necessary for the CLR to P/Invoke those calls. Read that link I sent you for more information.
I am working on a new project.
Basically, I want to implement a Window Form that mimics Internet Explorer.
So, it would consist of two parts.
A Window Shell with a browser capabilties, and the menu will be like a window explorer file-structure style (tree-like structure). And when clicked on the menu, it will call some aspx page (rendered inside the app).
Any hints welcomed.
I would like to know what class to use for those 2 components. Thanks.
There are many articles on Windows Explorer-like interfaces here on CodeProject. I suggest you do a search.
As for Internet Explorer, you need to right-click on your toolbox and customize it. Click on the COM tag and find the "Microsoft Web Browser" or something like that (shdocvw.dll). When you add that to your toolbox and then to your form, two interop assemblies are created: Interop.SHDocVw.dll (contains the interfaces for the WebBrowser control) and AxInterop.AxSHDocVw.dll, which contains the AxHost-derived control you can put on your form. You can use these two together, and there are also plenty of articles about this here on CodeProject. Just use the Navigate or Navigate2 methods (the latter is recommended) to browser to the URL of your ASP.NET page.
I have the following situation: I serialize an object, let's say ob, and later on I deserialize it and when I try to do this I get an exeption that tells me the following additional information: The constructor to deserialize an object of type ob.subOb was not found. subOb being another object contained in the main object ob.
How do I have to do the Serialization in this case to get it right?
Thanks for you help.
Last Visit: 31-Dec-99 19:00 Last Update: 28-Jan-23 21:26