|
I implemented the Tooltip.Show(String, IWin32Window, Point, Int32) in "OnMouseMove", such that I could specify the position where tooltip is shown, the only problem I have with this method is that tooltip displays as the mouse is moving.
I tried to use Tooltip.SetToolTip for which I could specify "AutomaticDelay" so that the tooltip will be displayed when mouse is stopped for seconds. But in this method tooltip will be positioned in the center of the associated control.
So I registered ToolTip.Draw event, but I didn't find where to change the Tooltip display position.
Thanks,
|
|
|
|
|
i have a datagrid and i have attach context menu with its items....nw i want to track that item which have curretly contextmenu in the menu items click event...hw can i do that?
|
|
|
|
|
I am assuming you are using a DATAGRIDVIEW and are working with winforms. In the menu click event you get the DGV.selectedrow[0].
You may need to handle the DGVs on click event to make sure the right click selects the row under the click. Use Hittest.
|
|
|
|
|
say there are multiple threads running ThreadTask(...) and MySingleton.Instance property returns a single instance of MySingleton implemented via i.e. Double-Checked Locking pattern (which is supposed to be not broken for .Net Memory model).
Given the following code for example, is access to the instance-scope Singleton method serialized?
void ThreadTask(...)
{
MySingleton singleTon = MySingleton.Instance;
singleTon.SingletonMethod();
}
public sealed class MySingleton
{
Class1 aClass1;
private MySingleton
{
aClass1 = new Class1();
}
public void SingletonMethod()
{
aClass1.ClassMethod1();
}
}
----------------------------------------------------------
Lorem ipsum dolor sit amet.
|
|
|
|
|
You will need to write code to make your access thread safe
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
once the single instance of MySingleton is created, each thread can have a reference to this instance via MySingleton.Instance. However, because the non-static method of MySingleton isn't implemented to be thread-safe, I was wondering, how access to this method happens?
----------------------------------------------------------
Lorem ipsum dolor sit amet.
|
|
|
|
|
It will execute on each thread seperately, and if two threads access it at once, then the results could be unpredicatable.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
This article[^] covers the details of how to implement a singleton in C# that supports both lazy loading and is thread safe. It also covers the reasons why some of the common implementations are not thread safe.
Simon
|
|
|
|
|
For all, this is a question on the best/most elegant way to do this.
I am reading records from a database. I start the read with a database
reader.ExecuteReader() method. Then I put a while Reader.read() statement to start the loop. While within this loop, I have to add up figures for certain records (store numbers). For this I use another while loop (while store number == store number). Within this while loop, I advance the records read with another reader.read() method.
The problem with this is that when it reaches the last record, the test for store number is not valid because the next record is null.
I called over my colleague to help me out with this problem, and he suggested a break on an if (!dbreader.read()). I thought this was a dirty way to get our of this, but it works!
I know I have not supplied code, but I hope you all can see it the way I explained it (this code is on a virtual machine that I do not have remote access to at the moment), But if needed I will provide.
The end question is, is it ok to use break? How often is it really used? I have always been taught not to use break/goto/gosub in C# and I just thought I would get some input here.
Thanx in advance!
Jude
|
|
|
|
|
Why Repost ?
Abhijit Jana | Codeproject MVP
Web Site : abhijitjana.net
Don't forget to click "Good Answer" on the post(s) that helped you.
|
|
|
|
|
break is the usual way to exit a while loop prematurely, what is inelegant about it ? The only thing that you should try to avoid is goto and there is no gosub in C#.
|
|
|
|
|
Shameel wrote: break is the only way to exit a while loop prematurely
really? what about goto label , return , throw new Exception(...) , Application.Exit() and then some?
Luc Pattyn [Forum Guidelines] [My Articles]
I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages
|
|
|
|
|
Yes, I am aware of them, but:
goto should be avoided as it leads to some hard to debug code paths.
return takes you out of the method itself, what if you want to do something after the while loop ?
throw should be used to signal an abnormal state and not to transfer control
And you know what the problem is with Application.Exit() , the whole process is brought down and you're thrown out of your app.
I did not want to confuse the OP with all these, he/she was asking for a simple method to prematurely exit a while loop.
|
|
|
|
|
Shameel wrote: I did not want to confuse the OP
then don't issue a statement that is completely wrong.
Luc Pattyn [Forum Guidelines] [My Articles]
I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages
|
|
|
|
|
You are probably correct, I have rephrased my answer. Thanks for pointing it out
|
|
|
|
|
I don't quite understand your double while loop scenerio, but regardless, as far as I'm concerned, break is a Goto and they both should be burned at the stake.
Why not set a flag and include it in your while conditional? I find it much easier to follow code that tells you outright what the conditions are for continuing the loop:
salesTotalLoopFinished=false;
while (!salesTotalLoopFinished && dbreader.read())
Perhaps a better route to take, though, is to let the db handle the calculation for you:
SELECT SUM(daily_sales) AS total_sales FROM storedata WHERE storeid=25
Then you can avoid all of this looping in the first place.
Cheers,
Drew.
|
|
|
|
|
For all, this is a question on the best/most elegant way to do this.
I am reading records from a database. I start the read with a database reader.ExecuteReader() method. Then I put a while Reader.read() statement to start the loop. While within this loop, I have to add up figures for certain records (store numbers). For this I use another while loop (while store number == store number). Within this while loop, I advance the records read with another reader.read() method.
The problem with this is that when it reaches the last record, the test for store number is not valid because the next record is null.
I called over my colleague to help me out with this problem, and he suggested a break on an if (!dbreader.read()). I thought this was a dirty way to get our of this, but it works!
I know I have not supplied code, but I hope you all can see it the way I explained it (this code is on a virtual machine that I do not have remote access to at the moment), But if needed I will provide.
The end question is, is it ok to use break? How often is it really used? I have always been taught not to use break/goto/gosub in C# and I just thought I would get some input here.
Thanx in advance!
Jude
|
|
|
|
|
the usual skeleton is:
using (SqlDataReader dbreader = reader.ExecuteReader())
{
// all your code here
while (dbreader.Read())
{
// use break wherever you want
}
} // at this point, dbreader will be disposed properly
Best regards,
Jaime.
|
|
|
|
|
BTW, you have a repeated question, maybe you can delete it.
Best regards,
Jaime.
|
|
|
|
|
Thanx for the answer....I didn't repost, but I see it.
When I try to access ir I receive this error:
XML Parsing Error: not well-formed
Location: http:
Line Number 63, Column 34:if (typeof(_gat) != "undefined" && _gat)
Jude
|
|
|
|
|
I was wondering if their are some apis i can call for zooming in on the desktop like the windows 7 program called Magnifier does?
|
|
|
|
|
As far as I know, Magnifier is an old tool. At least it is present since Windows XP.
Programs -> Accessories -> Accesibility -> Magnifier
Best regards,
Jaime.
|
|
|
|
|
|
Ya i think your right :P
Anyways i think i found what i was looking for: http://msdn.microsoft.com/en-us/library/ms692402(VS.85).aspx
|
|
|
|
|
Hello, i want to use the webbrowser control without hosting it in a Form how can i do that (if it's possible). I need to do that because i need to parse the generated html document and be able to work with javascript . Any help will be appreciated , thanks.
|
|
|
|