|
That's why it's not flicker free. You should make a custom panel, which derives from Panel control, and then you just need to add those lines of code in the constructor of your custom panel. After compiling and adding it to your form, it will work flicker free.
This article may help you:
Flicker free drawing using GDI+ and C#[^]
My Weblog
|
|
|
|
|
To note, it's much faster to use
SetStyle(ControlStyles.AllPaintingInWmPaint<br />
| ControlStyles.DoubleBuffer | ControlStyles.UserPaint, true); . This results in fewer calls since all three enumerations are OR'd together at compile time. That's what the FlagsAttribute allows on an enumeration like ControlStyles (all enumerations denoting plurality in the .NET FCL typically have the FlagsAttribute ).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
|
the problem is here:
<br />
string currentPath;<br />
<br />
private void frmPicture_Load(object sender, System.EventArgs e)<br />
{<br />
currentPath = @"D:\Image\1.jpg";<br />
this.pictureBox1.Image = Image.FromFile(currentPath);<br />
}<br />
<br />
private void updateButton_Click(object sender, System.EventArgs e)<br />
{<br />
if (File.Exists(currentPath))<br />
{<br />
string newPath = Application.StartupPath + @"\PatientImages\" + arrISN[index].ToString() + ext;<br />
this.pictureBox1.Image = null;<br />
File.Copy(currentPath, newPath, true);<br />
}<br />
}<br />
Error: the process cannot access the file "D:\.." because it is being used by another process.
what can i do to correct this problem.
thanks.
Rock Throught The Night
|
|
|
|
|
I assume it's the File.Copy line that throws the error?
Out of interest, you've not got the picture your copying open in another application have you?
KP
|
|
|
|
|
i known the error is File.Copy line but i cannot find out the to correct it.
please help me again
thanks
Rock Throught The Night
|
|
|
|
|
I have just tried the code with some adjustments for my file structure and it works fine. The only difference between my code and yours is the newpath string, i set mine to @"c:\golfball2.bmp" and when i clicked the update button i got a copy of golfball.bmp called golfball2.bmp.
I assume the problem is that the destination for your file is currently being used by another application, or even by your application. Try hard coding the newPath string to @"c:\test.jpg" . If that works then you will have to look at where your trying to write the copy to.
Let me know how you get on.
KP
|
|
|
|
|
the " currentPath " and the newPath is the same Folder and the " currentFileName " and "newFileName" is the same too
so the error occur.
Rock Throught The Night
|
|
|
|
|
Either clone (via Clone - don't forget to cast it to an Image ) the Image you get from Image.FromFile , or use a FileStream and specify FileShare.Read at the very least, then read the image from the stream (the Bitmap class - a derivative of Image - accepts a Stream as a parameter).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi ppl.
What sort of naming standards should you use for C#?
Should variable names in the class start with "m_str" for example?
thanks
|
|
|
|
|
This is what microsoft dictates...
Naming Guidelines[^]
I think your sopposed to use pascal case for variables and no little prefix....
/\ |_ E X E GG
|
|
|
|
|
eggie5 wrote:
This is what microsoft dictates
Well, Microsoft don't really dictate it, they are called "guidelines" because you can ignore them if you wish. But, obviously if everyone follows the guidelines it becomes easier to maintain and read the code.
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
The Second EuroCPian Event will be in Brussels on the 4th of September
Can't manage to P/Invoke that Win32 API in .NET? Why not do interop the wiki way!
My Blog
|
|
|
|
|
Like on Pirates of the Caribbean?
/\ |_ E X E GG
|
|
|
|
|
Kind of...
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
The Second EuroCPian Event will be in Brussels on the 4th of September
Can't manage to P/Invoke that Win32 API in .NET? Why not do interop the wiki way!
My Blog
|
|
|
|
|
I notice there is no more use of the prefix for the type of the variable anymore. I'm use to using a variable named say "strName" to say the type is a string. Wouldn't the use of just "Name" be a little confusing if you didn't know its type just by looking naming standard for all you know it could be a integer, boolean (hopefully not!)?
|
|
|
|
|
If you are using visual studio or any other ide, you can tell my just leaving your mouse over the variable and it will give you all that info...
/\ |_ E X E GG
|
|
|
|
|
no more notepad then
|
|
|
|
|
Take also a look at this site[^] from MSDN.
It should give you a general overview before studying the previous posted link.
www.troschuetz.de
|
|
|
|
|
|
Are you gonna extend this into a full-blown managed web browser?
Q:What does the derived class in C# tell to it's parent?
A:All your base are belong to us!
|
|
|
|
|
Currently this only renders xhtml so it would be a quite limited market
however i am trying to make it as flexible as possible , so if i can find some sparetime
, ill try to add a standard html parser to.
i will only add features to the renderer itself , i will not start making a browser around this control.
the purpose of this lib is not really to compete with the IE ocx ,
it is only a lightweight alternative to it , if you need to display some tables and some formatted text and dont want to load a 16mb ocx into memory , you can use this lib.
//Roger
|
|
|
|
|
Hi,
I'm new to programming... so don't laugh too hard...
How do you run an Event Method (OnClick Button) from a void Method?
The Event Method requires the object and System.EventArgs variables?
How would you supply them from a none Event Method?
Also, I've noticed that I can run an Event Method from another Event Method my using:
btn_ClearTill_Click(sender, e);
Is this not a good idea?
Ron
|
|
|
|
|
myNameIsRon wrote:
How do you run an Event Method (onclick Button) from a void Method?
You can call an event handler, i assume you mean this by Event Method, from everywhere you want as long as you can access it.
myNameIsRon wrote:
The Event Method requires the object and System.EventArgs variables?
How would you supply them from a none Event Method?
As sender object you generally pass this and the EventArgs object has to be constructed.
btn_ClearTill_Click(this, new System.EventArgs());
myNameIsRon wrote:
Also, I've noticed that I can run an Event Method from another Event Method my using:
btn_ClearTill_Click(sender, e);
Is this not a good idea?
You can call an event handler from within another event handler, but it would be better to subscribe them both to the occuring event. This way both event handlers get automatically called when the event occurs.
www.troschuetz.de
|
|
|
|
|
Thanks Stefan,
I appreciate you help )
Ron
|
|
|
|
|
Does anyone know if it's possible to have VS .NET 2003 check the DLLImport functions at compile time? FOr instance
<br />
class PlatformInvokeTest<br />
{<br />
[DllImport("C_DLL.dll")]<br />
public static extern void BridgeFn(lo);<br />
<br />
public static void Main() <br />
{<br />
try<br />
{<br />
string lo = string.Empty;<br />
BridgeFn(lo);<br />
}<br />
catch (Exception ex)<br />
{<br />
MessageBox.Show(ex.ToString());<br />
}<br />
}<br />
}<br />
While in my DLL There is no BridgeFn function that takes a string. This generates an error only on execution. While not horrible on a small scale, on a larger scale things can get pretty hairy pretty quick. If there is no way to check this at compile time any workflow suggestions to make this easier?
Thanks!
|
|
|
|