|
...which makes it really cool for use as a "splash" window, among other fun things you can do with a borderless form...
|
|
|
|
|
Hi,
I have functionality already implemented in double click event of ListView. Now I want to add a button that would do the same, but instead of writing everything for that button click event, I just want to fire the ListView Double Click event !
How can I achieve this ?
Thanks,
Paul
|
|
|
|
|
My suggestion is that you write another method and call that method from the Click and from the DoubleClick. Something like this:
private void listView1_DoubleClick(object sender, System.EventArgs e) {
someCommonLogic();
}
private void someCommonLogic() {
MessageBox.Show("Hello World!");
}
private void btnSharesMethod_Click(object sender, System.EventArgs e) {
someCommonLogic();
}
private void button1_Click(object sender, System.EventArgs e) {
listView1.Items.Add("Item" + (listView1.Items.Count + 1).ToString());
}
|
|
|
|
|
I know there is a PerformClick for button, is there something not like that for other events ?
|
|
|
|
|
My understanding is that PerformClick exists essentially so that keyboard actions like "ESC" and "Enter" can invoke a button. In general terms, I believe you are looking for more information on Events and Delegates. In other words, you can define your own events and methods with the correct signature that are "bound" to those events as handlers. Although somewhat complex, there is documentation in MSDN and the .NET Framework to understand how you can pursue this further. You might try this[^] as a starting point.
|
|
|
|
|
Hi,
Can anybody help me find an asp.net forum in c# that is totaly free, simple, easy, use sql server, only one projectfile with code behind and supports the older version of visual studio.net.
I have tested about 8 different versions now and i'm still searching.
Yours sincerely
Andla
|
|
|
|
|
|
I believe i have seen all of them. Most of them are not even free.
|
|
|
|
|
Hi again. Well, you may be asking for a lot for free.
Andrlage wrote:
asp.net forum in c# that is totaly free, simple, easy, use sql server, only one projectfile with code behind and supports the older version of visual studio.net
It may be worth paying the money for a well-done commercial product, or to hire a consultant to write exactly what you want. Or it may be worth spending the time to write what you want yourself.
Or - as another alternative, you could download the ASP.NET Community Starter Kit[^]. It's complex, but it may be worth the complexity to have something that's totally free and supports sql server.
I guess the choice you make depends on what you're willing to give to get *most* of what you want (if *all* isn't available).
|
|
|
|
|
Hi there
I need to know if it is possible to record from
the modem using TAPI in C#?
I am making a project that will record conversations
that are going on on the same line as the modem.
Can anyone help me?
VisionTec
|
|
|
|
|
Speaking from a Tapi 2.1 perspective all you really get from Tapi is a handle to a wave device. Above that you really don't record using Tapi, that is done with the MM APIs. I am not sure about newer versions of Tapi. I think the concept is the same but the newer COM based Tapi interfaces use the concept of terminals instead of handles.
Paul Watson wrote:
"At the end of the day it is what you produce that counts, not how many doctorates you have on the wall."
George Carlin wrote:
"Don't sweat the petty things, and don't pet the sweaty things."
Jörgen Sigvardsson wrote:
If the physicists find a universal theory describing the laws of universe, I'm sure the a**hole constant will be an integral part of that theory.
|
|
|
|
|
Hey all,
I'm using a POP3 client library (from www.lumisoft.ee) that returns messages as an array of bytes (byte[]).
What I'm looking for is an efficient way to change this array into a string so I can perform Regex functions on it.
I have the following working code, but I don't think it will be very speedy or efficient when processing a large number of messages (or large messages):
<br />
private string messageToString(byte[] message) {<br />
StringBuilder sb = new StringBuilder();<br />
foreach (byte b in message)<br />
sb.Append((char) b);<br />
return sb.ToString();<br />
}<br />
Any suggestions on a better way to do this?
Thanks for your time!
|
|
|
|
|
Look at the System.Text namespace, and in particular classes like ASCIIEncoding class.
I, for one, do not think the problem was that the band was down. I think that the problem may have been that there was a Stonehenge monument on the stage that was in danger of being crushed by a dwarf.
-David St. Hubbins
|
|
|
|
|
That's just what the doctor ordered.
Thanks much.
|
|
|
|
|
hi
how difficult will it be to port quake2 (the managed c++ version posted at CP) to c#?
so that everything will be in c#
here's the link to Quake2 .Net
http://www.codeproject.com/managedcpp/Quake2.asp
thanx
|
|
|
|
|
This is a loaded question! How good of a programmer are you? Do you truly understand the .NET Framework or just think that C# is a special language? Do you understand the C/C++ native types very well? There are so many questions that require answering that such a question cannot be answered, at least not by anyone but yourself.
Also, the Quake2 port is not written in managed code: it was merely compiled using the MS C/C++ compiler with the /clr switch turned on. This produces a mixed-mode assembly, which most often contains more native instructions than not. Therefore, not only is this assembly not verifiable it is also not cross-platform. Managed code is used where possible but the CLR cannot manage all memory as well (if at all) in a mixed-mode assembly. The article mentions something to this effect as well.
If you want to learn more about this switch and the code that's produced, what the "Enter the Programmer" segment of MSDN TV for the episode, Managed Code[^].
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I have a abstract class and several decendants. These decendants hold some functions and variables witch are used by a basic user control. The point is that I need to change between the currently used decendant at runtime (by user choice). The user control updates itself during that (using events). But when I switch to a new decendant, the old one won't get deallocated ?
Witch means the more I switch to new decendants the more I consume memory ?
It would be logical if the old decendant gets freed and then a new one is initialized, but I'm not sure if that's so ?
I hope you understood what I ment ...
Regards, Desmond
|
|
|
|
|
desmond5 wrote:
But when I switch to a new decendant, the old one won't get deallocated ?
Assuming that nothing else holds a reference to the old control, it will get deallocated at some point when the GC next runs. You can try forcing it to run with System.GC.Collect(), but suggested practice is to let it do it's thing.
Another thing to keep in mind. As I understand it, when your user control gets first loaded, there is some memory used as it gets JIT'd and loaded into the application. This memory can never be deallocated until the application (actually it's appdomain) shuts down.
I don't think it is a very large overhead, though. Where I work, we load hundreds of user controls dynamically without any significant leakage.
|
|
|
|
|
How do you know that the old one is not deallocated? The garbage collector will eventually collect the object as long as you have no references to it.
|
|
|
|
|
I assume this because at some point I may switch back to the first decendant. I when I switch back I don't create a new instance but just access the old one.
|
|
|
|
|
It definitely will not be deallocated if this is case. Afterall, it is still in use. Perhaps you could try creating a new instance if you need to switch to the first object again.
|
|
|
|
|
I wonder how could it still be in use while I'm using the other decendant ...
|
|
|
|
|
But, if you have stored the first object away in another reference variable, collection, array, or whatever for later use then as far as the garbage collector is concerned it is still in use. In fact, there must be at least one reference to the object if you are able to reuse it at a later time. Does that make sense?
|
|
|
|
|
Hi,
I seem to be having a weird problem with threads in C#.
I've been using this to create threads and call methods like so:
Thread queryThread = new Thread( new ThreadStart( QueryThread ) );
queryThread.Start();
However when I try to call methods with any parameters such as queryServerRange(1,2)
with the following code:
Thread queryRangeThread = new Thread( new ThreadStart( queryServerRange(0, int.Parse(servers.Count.ToString())) ));
queryRangeThread.Start();
the compiler throws a fit and refuses to compile with the message:
"Method Name Expected". Only if I call a method without passing parameters does it not complain.
Any ideas what I am doing wrong?
Thanks,
Peter
|
|
|
|
|
Hi Peter,
As far as I know, the function name that you use to construct the Threadstart must return void and take no parameters.
The work-around I've used (and please tell me if this is bad!!!) is to create a class, stuff the "parameters" into properties on the class and then call a method on the class to do the work...for example:
<br />
public class WorkAround{<br />
public int iParameter1;<br />
public int iParameter2;<br />
public WordAround (int P1,int P2){<br />
this.iParameter1 = P1;<br />
this.iParameter2 = P2;<br />
<br />
}<br />
public void DoWork(){<br />
}<br />
}<br />
<br />
...<br />
<br />
WorkAround WA=new WorkAround (0,int.Parse(servers.Count.ToString())) ; <br />
Thread queryRangeThread = new Thread( new ThreadStart( WA.DoWork ));<br />
queryRangeThread.Start();<br />
<br />
I'm sure I've made a mistake or two above...but you get the idea: stuff your parameters into properties on a class you define and then call a method on the class the conforms to that requirements of ThreadStart()
Hope this helps,
Bill
|
|
|
|