1

プログラムで画像コントロールを移動するにはどうすればよいですか? そのページのasp.net Webアプリケーションで、プログラムで3つの画像を作成し、それらの間にある程度の距離を置いて配置したいと考えています。

int punctX = 50;
            int punctY=50;

            for (int y = 0; y < 2; y++)
            {
                System.Web.UI.WebControls.Image image = new System.Web.UI.WebControls.Image();
                image.ID = "culoare" + y.ToString();

-- ページに画像を配置する方法は? }

4

3 に答える 3

2

何らかのプレースホルダーを使用して画像を追加できるとよいでしょう。この例では、asp.net パネル コントロールを使用しています。コード ビハインドでは、対応する属性を使用してスタイル プロパティを設定できます。

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="StackOverFlow_2._Default" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:Panel ID="pnlImages" runat="server"></asp:Panel>
</asp:Content>

このような画像があれば

ここに画像の説明を入力

このようなことができます (最もクリーンなコードではないかもしれませんが、アイデアは得られます)

using System;
using System.Web.UI;

namespace StackOverFlow_2
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                double punctX = 10;
                double punctY = 10;

                double spacing = 5;

                pnlImages.Style["position"] = "relative";

                for (int y = 0; y < 3; y++)
                {
                    System.Web.UI.WebControls.Image image = new System.Web.UI.WebControls.Image();
                    image.ID = "culoare" + y.ToString();
                    image.Style["position"] = "absolute";
                    image.Style["left"] = punctX.ToString() + "px";
                    image.Style["top"] = punctY.ToString() + "px";
                    image.Width = 100;
                    image.Height = 60;
                    image.ImageUrl = "~/Images/" + image.ID.ToString() + ".jpg";

                    pnlImages.Controls.Add(image);                    

                    punctX += image.Width.Value + spacing;

                }
            }
        }
    }
}

レンダリングされた出力は次のようになります (画像は 5px 間隔で配置されます)

ここに画像の説明を入力

于 2012-07-12T02:33:12.360 に答える
0

このようにページ コントロール コレクションに追加する必要があります。

page.Controls.Add(yourImage)
于 2012-07-12T01:05:07.203 に答える