|
Very kind my friend.
Here is a list of what i would like to accomplish (if possible)
Custom Picturebox desires
Properties
-BorderItems(heading)
-BorderColor
-BorderColor2
-BorderCapStyle
-BorderGradientAngle
-BorderLineStyle
-BorderSize
-BorderStyle
-CaptionText(heading)
-CaptoinBackColor
-CaptionForeColor
-CaptionFont
-CaptionLocation
-CaptionPlacement (Top or Bottom of Image)
-CaptionText
• (Would like to do the following shapes if possible with the above BorderItems)
• Shapes (picturebox) **see the current function for rounded corners below**
o Hexagon
o Oval
o Round
o RoundCorners
o Square
‘Change to rounded corners, let user pick size and color, currently how i do this in my program now.
'get the current image
Dim StartImage As Image = tmpImage
Dim RoundedImage As Image = ClsPicShapes.RoundCorners(StartImage, value, .ColorBoarders.Color)
Public Shared Function RoundCorners(ByVal StartImage As Image, ByVal CornerRadius As Single, ByVal BackgroundColor As Color) As Image
CornerRadius = (CornerRadius * 2)
Dim RoundedImage As Bitmap = New Bitmap(StartImage.Width, StartImage.Height)
Dim g As Graphics = Graphics.FromImage(RoundedImage)
g.Clear(BackgroundColor)
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear
g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality
g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
Dim brush As Brush = New TextureBrush(StartImage)
Dim gp As GraphicsPath = New GraphicsPath
gp.AddArc(0, -1, CornerRadius, CornerRadius, 180, 90)
gp.AddArc((-1 + (RoundedImage.Width - CornerRadius)), -1, CornerRadius, CornerRadius, 270, 90)
gp.AddArc((-1 + (RoundedImage.Width - CornerRadius)), (-1 _
+ (RoundedImage.Height - CornerRadius)), CornerRadius, CornerRadius, 0, 90)
gp.AddArc(0, (-1 + (RoundedImage.Height - CornerRadius)), CornerRadius, CornerRadius, 90, 90)
g.FillPath(brush, gp)
Return RoundedImage
End Function
|
|
|
|
|
In the Moment I don't see the wuestion in it - but ... when I understood right I made something similar with a Label.
This Label could have also different shapes - (Rounded, Rectangle, Phased, Raised, Sunken and so on).
If you want to do this you should create for each shape an own method which draw it - like you have done for the Rounded part.
The Selection of the Shapes is an Enum which can also easily placed on a Property. Based on this Enum-Property you select the Shape-Painting inside the OnPaint-Method. At the End the OnPaint-Method will become a very big one ...
What we can do, if there are questions or need for discussion, is : you send me the code and I take a look and/or make changes ...
|
|
|
|
|
Message Closed
modified 2-Apr-23 11:45am.
|
|
|
|
|
I noticed your Mail-Adress and will send you a Mail - but now you should imediadly delete your Mail-Adresse out of this discussion ...
|
|
|
|
|
Even better than mine
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Thanks???
if i can get the "OnPaint" to work, i might be able to add rest of the properties!!!
Appreciate the help!
|
|
|
|
|
robert11 wrote: if i can get the "OnPaint" to work, i might be able to add rest of the properties!!!
I don't care about OnPaint; lots of controls don't update in the designer, if you noticed.
The designer would hardly work if realtime painting, that only makes sense for some games and not all.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
appreciate the help!
will try to find how to draw text, move label ect. with out the "OnPaint".
will keep looking for samples to teach me these things!
Have a great night
|
|
|
|
|
FYI
Got it. Took a bit to understand what you meant. I placed some fields on the form, enter some data, x, y locations and button. it prints the text at x,y on the image. Now i can add rest of properties to do forecolor, backcolor, font etc. for caption text. Again, appreciate your help.
|
|
|
|
|
I did not help really, I just pointed in a direction.
You walked that mile, not me.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
do you also have an Example, Eddy ?
I'm interested to see it ...
|
|
|
|
|
No code to copy/paste, and would not be VB either.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
too bad ... I'm everytime interested in other approaches.
I prefer VB ... but C# doesn't matter since we have Telerik ...
Have a nice Sunday
modified 2-Apr-23 6:34am.
|
|
|
|
|
... and thank you very much for your Voting ...
|
|
|
|
|
I was wondering if somebody can point me in the right direction on this
- The goal is to detect when a child form is being moved and read out the current position while moving
-I could use a timer to read out the current position - but at this point I have not been able to fire an event that indicates the form being moved or not ( grabbed by the tool bar that is)
This is just a normal form with standard close minimize / maximize buttons (Not that that should make a difference I assume)
What am I missing ? Any ideas ?
Georg
|
|
|
|
|
You're missing the Form.Move event. All you have to do is handle that event in your form code and you can get the Top and Left property values for the position of the form.
|
|
|
|
|
That's what I thought - unfortunately that event does not fire for me....
Is there a setting in the parent that could prevent that event from firing ?
Georg
|
|
|
|
|
That means there is no code "wiring-up" the event handler.
If you're looking at the position of Form2 from inside Form1 code, you have to "wire up" the event yourself. If you're only looking at the position of Form2 inside Form2 code, the event isn't getting wired up in the Designer code.
Which is it?
|
|
|
|
|
Hello,
I have a table layout panel that is dynamically populating a user control into a table panel layout.
The user control has a picturebox and a few text fields.
Loading the svg literally takes 2-3 seconds for each user control with the picture box to display.
The file sizes are only 2kb to 20 kb.
I've tried chnaging the sizemode property on the picturebox, but it acts the same no matter what.
I can step through the code and there is no delay at the Load step.
Any ideas why this is happening and how to speed this up?
'UserControl
Dim pp = New ProjectPart
With pp
pp.PictureBox.ImageLocation = strFileName
' pp.PictureBox.LoadAsync()
pp.PictureBox.Load()
pp.CheckBox.Text = PartPlastic_ID
pp.ComboBox.Text = PartPlastic_Status
pp.TextBoxPN.Text = PartPlastic_PartNumber
pp.TextBoxType.Text = PartPlastic_Type
End With
'Add to TablePanelLayout
TlpCustomerParts.Controls.Add(pp, currentcolumn, currentrow)
|
|
|
|
|
Try it with .png. If it's faster, than you know the .svg is slower (because it's a "draw command" file and not an "image").
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
Unfortunately there is a library of thousands of parts. I'll try to convert some and check it out.
Thanks!
|
|
|
|
|
Member 12061771 wrote: Unfortunately there is a library of thousands of parts Download a few hundred, convert them using a script and test it. If it's true, write a script to convert them.
Being a library of thousands of parts is not an argument, it's not like someone is asking you to open each one in MS-paint and press "Save As".
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
|
i have been using cliwrap for running git commands and passing the arguments. But it seems to have failed while running my msbuild command from my c# console application.
What i am trying-
var stdOutSetup = new StringBuilder();
var stdErrSetup = new StringBuilder();
var Setup = await Cli.Wrap("msbuild")
.WithArguments("/t:scmclean && /t:setup")
.WithStandardOutputPipe(PipeTarget.ToStringBuilder(stdOutSetup))
.WithStandardErrorPipe(PipeTarget.ToStringBuilder(stdErrSetup))
.ExecuteBufferedAsync();
var stdOut2 = stdOutSetup.ToString();
var stdErr2 = stdErrSetup.ToString();
Console.WriteLine("Build Commands Output :");
Console.WriteLine(stdOut2);
Console.WriteLine(stdErr2);
is there any possible way where i can run msbuild commands from my c# console application?
|
|
|
|
|