Positioning Image and Text in a button - vb.net

I have a Button on my Form. I want to have an image on the left and text on the right like :
Image Text
But the problem is that image is not stretched here. I mean it does not fit the button.
So I tried to set the BackGroundImage Property instead of Image Property.
Now I get the Image stretched. But I cant get the proper Format. I mean now I cant get Image on the left and Text on the right.
Is there any other control which I can use instead of button to Overcome this problem?

The button has a TextImageRelation property, set it to ImageBeforeText. Set the Image property with your image and there you go.

I don't think using stretch will in any case. How is it supposed to determine the border to stretch to?
With the imagealign set middleleft and the textalign set middleright I was able to make this button, it's 82X48. The image I used is 52X39. I used paint to resize the image.

A simple method that may work out good is to put both an image and button inside a panel. This gives you the flexibility of text placement, image scaling and use anchor or dock options to size the controls with the panel and form. Not tested but sounds like it could work...

If you used Button control .. and you want to add image to it
Create New Button and do domething in it's properties
Image : you can insert an image from anywhere (local or resource)
ImageAlign : Set it to Middle Left
TextAlign : Set it to Middle right
It tested on VB.NET 2005

To change a button's image size, you can use the image property . Your image will be resized to you specific dimension
Button2.Image = Image.FromFile("c:\image.jpg").GetThumbnailImage(20, 20, Nothing, IntPtr.Zero)

Related

Changing button's size based on its content's length, so the button keeps its shape

I have a UIButton which is created programmatically (it can be customised from Interface Builder, though). It is a circular and it looks like this:
Now I'm working on Internationalization and I need to check it for Double-Length Pseudolanguage. The image above is taken when the app language is set to double-length pseudo, but as you can see, the button only shows one word. Here are the constraints of the button:
The title style of the button is plain, its text is centre-aligned, and the line break is set to "Word Wrap".
How to make the button keep its shape but to increase its size when needed (basically, to increase its width and height for the same amount, so it keeps being a circle), so for example, in this case to show two "Menu" words? If you know how to achieve this I would appreciate your help.
Try setting the content compression resistance on the button to required (1000) for horizontal and vertical. It will also depend on the stackViews above and below allowing for the size change.

xcode6 storyboard uibutton image title laybout

how can i set button's image and title correctly position.
now the storyboard preview like:
I add title and image to the button and set title and image edgeinset to get picture layout. but the button'size is changed with the phone size. so i can't set it in storyboard properly for all size.
i want to to know is there a way to deal with this situation?
thanks!
see the tutorial link below ,
http://www.appcoda.com/introduction-auto-layout/
it's show how to fix constant heigh and width of view.
you see clear in image how it done.

Pixate background-image no-repeat?

I am trying to put a background image into a text-field (it's just a search icon). And it is tiling the image in the text field. Is it possible to turn off the repeating of the image? i don't see anything like that, i'm seeing padding and position for background images but nothing to turn off the tiling of the image. is this not possible in pixate yet?
thanks!
You should be able to set background-size to the size of your text-field so it won't have anything to repeat.
I battled this same problem, and in the end, I found I got what I wanted by using multiple objects. Even if you get the search icon to work right, you're probably going to notice the UITextField doesn't pad the text away from the icon.
Anyway, here's how I ended up doing it so that I had full control over the style.
So you can put your search icon in the UIImageView and then define your text field's style (border, background color, etc.) with the UIView. The UITextField ends up being plain white/transparent, and positioned so that its text doesn't overrun the search icon.
I hope that helps.

Panel containing PictureBox flickers on background change. How can I eliminate this?

I have a panel with the BackgroundImage set that I'm using as a button. The panel also contains a PictureBox with a png image loaded so that parts of the image are transparent and the panel image shows through. On MouseDown I change the panels BackgroundImage, then on MouseUp I change it back again. The problem is that when the panel image changes, the PictureBox flickers badly when redrawing its transparent areas.
I've tried using the DoubleBuffered property of the form its on; no luck there. I've also tried SuspendLayout just before changing the image, refreshing the PictureBox, then ResumeLayout. Still no luck.
Thanks in advance for any ideas.
It's the bad part of VS in graphic. Try using Form BackgroundImage property, or overrides OnPaint event and use Graphics class to draw the image manually (draw on the Form).

VB.NET: Scrollbar "button"?

I plan on using a scrollbar for, well, scrolling an image. The image is 200x500, however, the only visible area is 200x250.
So I set the max value to 250, and the min value to 0. The idea is that if I drag the scrollbar's button to the bottom, 250 pixels will have moved for the image, right?
But wait, the scrollbar's button is.... very small. And the scrollbar is actually pretty long. Is there a way to make the scrollbar's button longer?
How did you create this scrollbar? Is it a separate control all together, or it is a component of another control? I do know that scrollbars added separately act kinda funny at times.
What I would suggest is using the scollbars built into another container control, which should achieve the exact same effect.
Create a new panel control on your form, and name it. (I suggest something like panelPicture)
Position the panel where you want your picture to be.
Set the panel's size to 200x250.
Set the panel's "Autoscroll" property to True.
Put a PictureBox inside this panel, and name it. (I suggest something like picMyPicture.)
Set the PictureBox's position to 0, 0.
Set the PictureBox's size to 200x500 (or whatever is necessary).
Set the PictureBox's Image property as desired.
Now, the scrollbar should automatically appear on the picture, and it should look normal.
As a side note (which may or may not be relevant), users typically don't like having to scroll to see the rest of an image, so if you don't need the user to scroll down on the image for some definitive purpose (or because you don't know what the size of the image that will be handled is), I'd try and change the size of things on your form so scrolling will not be necessary.
I hope this helps!