|
I think its working with this (I forgot to grab the exact same data I was having problems with)
List<NodeUI> newNodeUIs = new List<NodeUI>(NodeUIs.Capacity);
int minX = (nodeLayouts.Min(l => l.Location.X) * -1) + 50;
int minY = (nodeLayouts.Min(l => l.Location.Y) * -1) + 50;
for (int i = 0; i < this.NodeUIs.Count; i++)
{
NodeUI nodeUI = FindNodeUI(nodeLayouts[i].Node);
Point loc = nodeLayouts[i].Location;
loc.X += minX;
loc.Y += minY;
nodeUI.Location = loc;
newNodeUIs.Add(nodeUI);
}
panelGraph.Controls.Clear();
panelGraph.Controls.AddRange(newNodeUIs.ToArray());
panelGraph.ClientSize = GetNodeLayoutBounds(nodeLayouts).Size;
NodeLayouts is not the array of controls, but a struct with their original positions in, the layout algorithm works on that instead. But I think it was using the min of the locations rather than the bounds to do the offset that worked.
Thanks again for your help!
|
|
|
|
|
You're welcome, and also thanks for the feedback. It's nice to know you found a solution.
V.
|
|
|
|
|
I was reading this thread with interest; glad you have an answer.
It's interesting that if you turn the Auto-Scroll of a Form on, and place some controls way beyond the nominal size:
private void Form1_Load(object sender, EventArgs e)
{
button1.Left = 6000;
button2.Left = 9100;
}
and then inspect the DisplayRectangle of the Form you can see negative co-ordinates like:
{X=-7891,Y=0,Width=9175,Height=733}
In the DisplayRectangle bounds.
Makes me wonder if there might be some way to exploit/map DisplayRectangle.Bounds to create a simpler means of translation of Control positions mapped to a different co-ordinate scheme.
By the way, if you have time, I'd appreciate your response to a question I have posted in the 'Algorithms' Forum[^]
best, Bill
"In the River of Delights, Panic has not failed me." Jorge Luis Borges
|
|
|
|
|
Where is here something for beginners to learn?! Thanks
|
|
|
|
|
Qlex wrote: to learn?!
Learn what?!
I Love T-SQL
"VB.NET is developed with C#.NET"
If my post helps you kindly save my time by voting my post.
www.cacttus.com
|
|
|
|
|
Use the menu bar at the top of the screen, or start here[^].
Unrequited desire is character building.
|
|
|
|
|
C#, WPF...
I've been for some time on this site, but everything seem quite for advanced users.
|
|
|
|
|
There are lots of beginners articles just select the Beginner Articles section from the Articles menu, and add C# WPF to the filter. You need to get used to using search tools in order to find what you are looking for.
Unrequited desire is character building.
|
|
|
|
|
I've looked there, but doesn't seem beginner level. I'll try again!
|
|
|
|
|
If you cannot find anything that you consider "beginner" level, then I think you need to start with some introduction type books, as it would seem you are still at a very early stage of learning. Articles on this site tend to assume that you know the basics of the language you are interested in.
Unrequited desire is character building.
|
|
|
|
|
Seeing the thread I'd recommend a book first.
Internet is difficult if you're starting from scratch. I would recommend a good book and come here when you have an exercise that isn't going as you expect. Once you've got the hang of it, the articles will make more sense.
Hope this helps.
V.
|
|
|
|
|
Yes. Good answer, and recommendation.
|
|
|
|
|
|
Start here[^]
Bastard Programmer from Hell
|
|
|
|
|
Yeah, Eddy, from Kids corner :P
|
|
|
|
|
Where "beginner" means what exactly?
Have you programmed in any other language?
Do you know how the operating system works? For example do you you know how to find a file using directories? Do you know what a windows service is? Do you know what an executable is? Do you know what a dll is?
Are you a logical thinker? (As a real example of that do you find geometry or classical logic proofs to be easy?)
If you can't answer any of the above yes then really the best way to start is with a teacher in a class room. The problem is that there are so many tiny details in just getting a program initially that it will be very frustrating with the time delay that one experiences via forums and additionally explaining the problem can be difficult.
|
|
|
|
|
@jschell
> Where "beginner" means what exactly?
Didn't understand this question.
> Have you programmed in any other language?
Yes, in a few. Pascal, C, C++, VB, (Asembler), Delphi
> Do you know how the operating system works?
For example do you you know how to find a file using directories? Do you know what a windows service is? Do you know what an executable is? Do you know what a dll is?
Yes.
> Are you a logical thinker? (As a real example of that do you find geometry or classical logic proofs to be easy?)
That would rather others say. I think I am.
> If you can't answer any of the above yes then really the best way to start is with a teacher in a class room.
I've spent my time with a teacher in classroom, now it's time for something more individual.
> The problem is that there are so many tiny details in just getting a program initially that it will be very frustrating with the time delay that one experiences via forums and additionally explaining the problem can be difficult.
Don't take things so seriously, it will kill you
|
|
|
|
|
Hi, Finding where something is, here, on CodeProject, is really helped by learning to use CodeProject's Search functionality.
Would be very valuable for you to spend a small amount of time exploring that Search functionality, imho.
You might start with searches for things like "Tutorials" in some area you are interested in, like:
WinForms C# Tutorial
You'll note that each Forum here has both a Search tool limited to that specific Forum, and, at the top of each CP web-page, is the global Search tool.
Try it !
best, Bill
"In the River of Delights, Panic has not failed me." Jorge Luis Borges
|
|
|
|
|
thanks Bill, all the best.
|
|
|
|
|
|
Thanks one more time!
It's just a matter of good filter searching as I see.
Regards
|
|
|
|
|
As people have said a book is a good start, personally I liked the Wrox Begining series, they had quite reasonable code tasks and a informative set of questions at the end of the chapter...
|
|
|
|
|
I am reading Wrox Beginning C#, at page 200andsmth i've stopped a little bit
examples are good but there are and hard ones...
sorry for my english
|
|
|
|
|
Hi all,
I am developing a console application using C# to automate Print Job for a bulk of documents. Below I am mentioning my plan for developing and my approach.
Algorithm:
1)Fetch list of documents.
2)Process the document list one by one.
a)Launch the Application.
b)Wait till the application launched perfectly.
c)Fire the Print Job.
d)Wait for Print dialog appear.
e)Fire "ENTER" key press event.
f)Wait till spooling finish.
g)Close the document and application.
3)Update the XML with Print job info.
Code:
<pre lang="c#">//Launch the file from the location specified in.
White.Core.Application application =White.Core.Application.Launch(@path);
Console.WriteLine("launch is done");
Thread.Sleep(3000);//Wait till Application Launched successfully.
//Sending Commands to Print(to press "Ctrl+P" button).
SendKeys.SendWait("^(p)");
Thread.Sleep(3000);//Wait till Print Dialog appear
//Sending Commands to Print(to press "Enter" Button).
SendKeys.SendWait("{ENTER}");
//Get the current time as the document fired for print job.
_printedTime = DateTime.Now;
Thread.Sleep(3000);//Wait till spooling Finish.
//Closing the window.
SendKeys.SendWait("%{F4}");
</pre>
Now the problem is for waiting case I am blindly using Thread.Sleep(With Few seconds), which is not Ideal. So I need to know How I'll fix these issues using White Framework in C#.
Can anybody help me to fix this issue please. Any help will be appreciated.
Thanks in advance
|
|
|
|
|
White Framework?? Never heard of it.
You'd get a much better response if you asked your question here[^].
|
|
|
|