|
I think perhaps Clear will remove the controls from the list of controls associated with the control
And that dispose will actually, well, dispose of them.
Im not to sure, if you .dispose a control, can you re-add it? Or do you need to actually recreate the control? Check it out.
My current favourite word is: Nipple!
-SK Genius
|
|
|
|
|
SK Genius wrote: I think perhaps Clear will remove the controls from the list of controls associated with the control
And that dispose will actually, well, dispose of them.
I agree.
SK Genius wrote: if you .dispose a control, can you re-add it?
no, it is no longer alive.
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Hi All,
I am using a ListView Control to display clients connected to a server. The ListView is set to View.Details and has three columns, 1) Client ID, 2) Client Name 3) Connection Status.
What I would like to do is update the 'Connection Status' SubItem to display whether they are connected or disconnected. Can anyone shed any light, thanks.
Regards
Web design and hosting
http://www.kayess.com.au
|
|
|
|
|
You need to work with the SubItems[^] property of a ListViewItem object.
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
Sorry, still can't see how I can do it.
Web design and hosting
http://www.kayess.com.au
|
|
|
|
|
Here is what I am trying to do, from what I've read:
string search = "x1";
string status = (ConnectionStatus) ? "Connected" : "Disconnected";
int i_row = myListView.Items.IndexOfKey(search);
myListView.SelectedItems[i_row].SubItems[3].Text = status;
However the i_row value returned is always -1
Web design and hosting
http://www.kayess.com.au
|
|
|
|
|
Kayess Tech,
Does your ListView.Items have an item called "x1"?
Regards,
Gareth.
|
|
|
|
|
Yes, I have updated from my previous post the ListView items
look like this
Col 1, Row 1 = Client ID (eg 23)
Col 2, Row 1 = Client Name (eg Steve)
Col 3, Row 1 = Connection Status (Connected / Disconnected) This is the subitem I want to change programatically.
Col 4, Row 1 = Identifier (in this case 'x1')
The next Row Identifier would be x2 and so on...
Thanks
"You don't scare me Selene."-Tanis
"We'll have to work on that."-Selene
(Underworld Evolution)
|
|
|
|
|
It appears your searching your List View Items instead of each item's SubItem.
Try something along the lines of this.
int i_row;
string search = "x1";
string status = (ConnectionStatus) ? "Connected" : "Disconnected";
for (int i = 0; i < myListView.Items.Count; i++)
{
if (!(myListView.Items[i].SubItems.IndexOfKey(search) == -1))
{
i_row = i;
myListView.Items[i].SubItems[3].Text = status;
break;
}
}
modified on Friday, January 18, 2008 5:53:11 AM
|
|
|
|
|
Hi,
Thanks, but that didn't work either. However I did find a solution
string search = "x1";
string status = (ConnectionStatus) ? "Connected" : "Disconnected";
for (int i = 0; i < myListView.Items.Count; i++) {
{
ListViewItem item = myListView.Items;
if(item.SubItems[4] == search)
items.SubItems[3].Text = status
}
Thanks all for your suggestions.
"You don't scare me Selene."-Tanis
"We'll have to work on that."-Selene
(Underworld Evolution)
|
|
|
|
|
Hi
I am writing a small network protocol library for an internal project and I got one question I have been wondering whether is possible or not.
Lets assume I have a button for starting the network service (or heavy file IO for that matter) with a .start() method. Now, the object representing the service should just start and run in the background (threading), but at certain points it should signal events (delegates). How can I make sure these delegates are run NOT in the background thread, but in the same thread as started the service with the .start() method? I know I inside the callback can run BeginInvoke after the delegate has been signaled, but I was wondering if there was a more transparent solution where the initiator dont have to even bother to handle the thread issue? It would be so sweet if the delegate automatically was run within the main thread.
Any ideas?
These concurrency issues are my last huge obstacle to overcome before I consider myself confident with the .NET framework and C#, so I would be eternal grateful for any hints on this topic. Thanks a lot
|
|
|
|
|
Hi,
when you're done counting bit patterns, here is an article[^] that should interest you.
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Thanks! will do
|
|
|
|
|
Nice to have an article referenced
|
|
|
|
|
just trying to run my own google service here...
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
This may be a stupid question, but here it goes: will this method for instance work on Mono with gtk# or cocoa#, or is it bound to Windows.Forms? I am just asking so I know the limitations.
|
|
|
|
|
Sorry, I don't know about Mono.
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Another question relating this matter.
If the library is running a thread that is using blocking sockets, and the object representing the library has a "Stop" method, how can this be made thread safe? Its kind of like the same question except the other way around.
|
|
|
|
|
Hi,
here are some ideas:
if the thread you want to stop can cooperate, then that is the best way; e.g. have a
bool flag indicating it should stop, and have it periodically test that flag. Maybe
give timeouts to your I/O operations so it will effectively check the flag.
if that is not possible, try sending an interrupt to the thread, which should result
in an interrupt exception, then clean up in the catch block.
if that does not work, you would have to abort the thread, leading to a possible
unknown state of some objects it created, them not being disposed, etc. A possible solution
here is to have two threads, one that creates and manages objects (and does not get aborted),
the second one not creating/disposing but just using those objects; then have the main thread
signal the first thread (again with a bool), and abort the second.
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Is there anyway to signal a blocking network operation to continue like you can signal a blocking waitOne() to continue?
|
|
|
|
|
I have a solution that is not particularly elegant but I use it in a speech recognition application I am writing.
My scenario is that I have a keyhook class that listens for a button being pressed.
In the KeyHook class I declare the following at the top of the class.
private static TestApp.MainForm m_InstanceRef = null;
public static TestApp.MainForm InstanceRef
{
get
{
return m_InstanceRef;
}
set
{
m_InstanceRef = value;
}
} Within the main form I call the KeyHook class using the following syntax:
KeyHook.InstanceRef = this;
KeyHook.Listen();
Within the KeyHook class I then run a method when the key that I want is pressed, called EnableCheck(), in the main form thus:
InstanceRef.EnableCheck();
Like you I am a learner with C#, and hopefully will always be one, and feel a more elegant solution would be to throw an event that could be picked up by the main form.
This way of doing things breaks the rules of OOP but it works.
Regards
Guy
You always pass failure on the way to success.
|
|
|
|
|
Hi,
is it possible that I can use the Excel Chart Object from Office 2002
in my C# application as embedded or so but not as excel application only Chart object from it.
thx in advance
|
|
|
|
|
It should be. Google might help out.
"I guess it's what separates the professionals from the drag and drop, girly wirly, namby pamby, wishy washy, can't code for crap types." - Pete O'Hanlon
|
|
|
|
|
Hi
I've got a problem with some security-settings while remoting with TcpChannels.
I've got a server and client. When the connection is estabilished and the client tries to run a method that is going to the server, the client throws the following exception:
************** Exception Text **************
System.Security.Authentication.AuthenticationException: A remote side security requirement was not fulfilled during authentication. Try increasing the ProtectionLevel and/or ImpersonationLevel. ---> System.ComponentModel.Win32Exception: The network logon failed
--- End of inner exception stack trace ---
Server stack trace:
at System.Net.Security.NegoState.ProcessAuthentication(LazyAsyncResult lazyResult)
at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel)
at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.CreateAuthenticatedStream(Stream netStream, String machinePortAndSid)
at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.CreateSocketHandler(Socket socket, SocketCache socketCache, String machinePortAndSid)
at System.Runtime.Remoting.Channels.SocketCache.CreateSocketHandler(Socket socket, String machineAndPort)
at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket(EndPoint ipEndPoint)
at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket()
at System.Runtime.Remoting.Channels.SocketCache.GetSocket(String machinePortAndSid, Boolean openNew)
at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream)
at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Interface.IServer.test(String msg, IClient cO)
at Client.Form1.btnSend_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.832 (QFE.050727-8300)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Client
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Documents%20and%20Settings/Administrator/Desktop/Neuer%20Ordner/Client.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.832 (QFE.050727-8300)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.832 (QFE.050727-8300)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.832 (QFE.050727-8300)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.832 (QFE.050727-8300)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
Interface
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Documents%20and%20Settings/Administrator/Desktop/Neuer%20Ordner/Interface.DLL
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.832 (QFE.050727-8300)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.832 (QFE.050727-8300)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
I created the following solution, that will be the network-engine for some projects (yes, there is a socket-connection too in that solution):
http://www.krifi-ware.de/ngame/networkengine.zip
There error only occurs, when the client is on a different machine than the server.
When server and client are running on the same machine, the error only occurs, when you are using an external IP (at my machine the Local-LAN IP and localhost (127.0.0.1) are working and the hamachi-IP (a VPN) is like the client is on an external machine).
|
|
|
|
|
Difference between two dates .(MM/DD/YY)
One date is given through Textbox are in the same format as System date.
Other is just system date .
I want to get date,month,year differences
|
|
|
|
|