|
|
Hello is there any simple way to determine which column in a datagridview is actually sorted ?
|
|
|
|
|
Hi,
DataGridView.SortedColumn is your friend.
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.
|
|
|
|
|
How to access the environment variables in C# ??
YRKL
|
|
|
|
|
I guess you don't know How to use google[^]
If you did, you would find answer to your question with a simple search.
Giorgi Dalakishvili
#region signature
my articles
#endregion
|
|
|
|
|
I got a question about how sockets work it's kinda confusing.
public ServerConnection(IPAddress this_machine, UInt16 port)<br />
: base()<br />
{<br />
this.init_connection = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);<br />
<br />
this.ip_end_point = new IPEndPoint(this_machine, (int)port);<br />
this.init_connection.Bind(this.ip_end_point);<br />
this.init_connection.Listen(2);<br />
<br />
this.init_connection.BeginAccept(new AsyncCallback(this.OnDataControlConnect), this.init_connection);<br />
}<br />
<br />
private void OnDataControlConnect(IAsyncResult ar)<br />
{<br />
this.data_control = (Socket)ar.AsyncState;<br />
this.data_control.BeginReceive(this.data_control_buffer, 0, 4, SocketFlags.None, new AsyncCallback(this.OnDataControlReceive), this.data_control);<br />
<br />
this.init_connection.BeginAccept(new AsyncCallback(this.OnDataConnect), this.init_connection);<br />
}
Now in the OnDataControlConnect method I cast the AsyncState method as a socket. Is the socket that was casted the same socket I passed in "this.init_connection.BeginAccept(new AsyncCallback(this.OnDataControlConnect), this.init_connection);"?
I hope I'm being clear enough I'm still trying to understand how sockets work.
Thanks.
|
|
|
|
|
I got another question: If the client shuts down, then disconnects the socket, how does the host know to disconnect as well?
I'm starting to get the hang of connecting, sending and receiving with sockets.
Thanks.
|
|
|
|
|
For your first question...
Yes... It's the same socket...
As for the second question, I'm not sure I understand...
But if I do, than you should do the following in the callback function you used when calling BeginReceive():
private void ReceiveCallback(IAsyncState state)
{
.
.
.
int receivedBytes = yoursocket.EndReceive(...);
if (receivedBytes <= 0)
{
}
else
{
}
.
.
.
} I wrote it the way I remember... So it may not be 100% accurate, but this is the main idea.
Good luck,
Shy
|
|
|
|
|
Thanks, your reply has helped me quite a bit.
modified on Sunday, March 23, 2008 9:35 PM
|
|
|
|
|
I've got another question. If a host has a socket open and BeginAccept has been called. Is it possible for a Client to be able to search for open sockets bound to a certain porta and detect that socket?
modified on Monday, March 24, 2008 12:55 PM
|
|
|
|
|
I need to change te text of some messageBox buttons...
Can anyone help me on that?
PC
|
|
|
|
|
pcaeiro,
You'll need to explain a bit more what you want to do.
Regards,
Gareth.
|
|
|
|
|
You will need ti develop your own message box.
Giorgi Dalakishvili
#region signature
my articles
#endregion
|
|
|
|
|
You have to write your own implementation, or use the new TaskDialog in Windows Vista (although I believe somebody has put together a .NET version that will run on XP as well - have a search here on Code Project for the article explaining it).
|
|
|
|
|
See [^].
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
good example.
thanks for the help.
PC
|
|
|
|
|
Hello,
VS 2008
I am using a binding source that is bound to a dataset with one table called AddressBook.
The binding source is bound to a combo box.
The address book table consists of 2 columns (number, name). There will be no duplicate phone numbers, as if it is already in the combo box it will
just set it to index zero.
This is just a simple table as I want to display the recent phone numbers.
When someone enters a phone number it will add it to the combo box, and position the number as index 0 (most recent).
However, if the phone number is already stored, then it should move it to index 0.
So this just a simple combo box that displays the most recent calls that are made. Just like any mobile phone.
This is my code so far. However, I am having a problem with moving the item to the top. is there some way this could be done better.
Many thanks for any advice,
Steve
<br />
if (!this.bsRedialedNumbers.Contains(this.txtDetails.Text))<br />
{<br />
DataRowView drv;<br />
drv = (DataRowView)this.bsRedialedNumbers.AddNew();<br />
drv["Name"] = this.txtDisplay.Text;<br />
drv["Number"] = this.txtDisplay.Text;<br />
<br />
}<br />
else
{<br />
DataRowView drv;<br />
drv = (DataRowView)this.bsRedialedNumbers;<br />
int index = this.bsRedialedNumbers.Find("Number", txtDetails.Text); <br />
}<br />
|
|
|
|
|
I have faced a problem.
That is:
Input:
File name which I want to search
Drive name where I want to search
Output:
True / False (Whether the file exists or not)
Can anybody help me?
|
|
|
|
|
You might want to look at DirectoryInfo and FileInfo classes.
|
|
|
|
|
Does the following work?
Requires System.IO namespace
foreach (string FileName in Directory.GetFiles(path, "file.ext"))
{
}
|
|
|
|
|
Hello everyone,
As mentioned in this article, why using this or type itself as lock object is bad idea? What means "it potentially offers public scope to the synchronization object"?
http://www.albahari.com/threading/part2.html
I quote the whole paragraph below,
--------------------
Choosing the Synchronization Object
Any object visible to each of the partaking threads can be used as a synchronizing object, subject to one hard rule: it must be a reference type. It’s also highly recommended that the synchronizing object be privately scoped to the class (i.e. a private instance field) to prevent an unintentional interaction from external code locking the same object. Subject to these rules, the synchronizing object can double as the object it's protecting, such as with the list field below:
class ThreadSafe {
List <string> list = new List <string>();
void Test() {
lock (list) {
list.Add ("Item 1");
...
A dedicated field is commonly used (such as locker, in the example prior), because it allows precise control over the scope and granularity of the lock. Using the object or type itself as a synchronization object, i.e.:
lock (this) { ... }
or:
lock (typeof (Widget)) { ... }
is discouraged because it potentially offers public scope to the synchronization object.
--------------------
thanks in advance,
George
|
|
|
|
|
Hi,
The class of 'this' (say NotPrivateClass) might not be private (or might not be private anymore in the future) , so let's say that someone else could do :
NotPrivateClass x=new NotPrivateClass();<br />
lock(x)
in another thread and therefore create a potential deadlock with
lock (this) { ... }
hope it helps
modified on Saturday, March 22, 2008 10:09 AM
|
|
|
|
|
Thanks girm,
What means "offers public scope" and why it is discouraged?
regards,
George
|
|
|
|
|
public scope means it is available outside of the class itself.
In the context of synchronisation objects it is discouraged. If the sync' object is available outside of the class other code can attempt to lock it - this could potentially lead to a deadlock.
|
|
|
|
|
Thanks Colin,
Colin Angus Mackay wrote: this could potentially lead to a deadlock.
Could you describe a scenario why expose this as lock object will cause deadlock compared with using private object as lock please?
regards,
George
|
|
|
|