1 votos

¿Alineación de la lista desplegable con el área de edición del combo en el AddIn de ArcMap?

He creado el addin de ArcMap, según el tutorial: "Building custom UI elements using add-ins". Ahora no sé cómo deshacerse de la molesta "característica": la etiqueta del combo colocado a la izquierda, y la lista desplegable se alinea a la izquierda, en realidad bajo la etiqueta, no bajo el área de edición de combo, como intuitivamente debería ser.

¿Puede alguien arrojar luz sobre este problema?

Ejemplo

1voto

jonesdavide Puntos 176

Presenté un problema de soporte a Esri en 2013 - está relacionado con 2 errores conocidos: NIM065082, NIM080660.

Me enviaron una solución, pero para ser sincero, creo que nunca la puse en práctica (no tenía un título largo como el tuyo).

Y realmente no entiendo cómo CalculateItemSizeString ayudaría no se llama. Pero esta es la solución que envió Esri.

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace ArcMapAddin3
{
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    using System.Diagnostics;
    using System.Linq;
    using ESRI.ArcGIS.Desktop.AddIns;
    using ESRI.ArcGIS.esriSystem;   
    using ESRI.ArcGIS.Framework;

    public class Combo1 : ComboBox
    {
        private IApplication app = null;

        public Combo1()
        {

            this.app = this.Hook as IApplication;

            OnCreate();

        }

        protected override void OnUpdate()
        {
            Enabled = ArcMap.Application != null;
        }

        private Dictionary<int, string> itemMap = new Dictionary<int, string>();

        private void OnCreate()
        {

            app = this.Hook as IApplication;

            int cookie = 0;

            string valuestring = @"Lorem,ipsum,dolor,sit,amet,,consectetur,adipiscing,elit.,Eleifend,conubia,urna,tempor,quam.Consectetur,Libero,dis.Venenatis,vehicula,torquent,pretium,turpis,nec,sed,proin:,litora,eget,natoque,lacinia,diam!Aliquet,tellus,Fermentum,consequat,proin,ac,bibendum,,dignissim,nullam,vestibulum,quam,diam,risus.Sapien,gravida,magnis";

            var values = valuestring.Split(',').ToList().Distinct();

            foreach (var value in values)
            {
                cookie = this.Add(value);
                itemMap.Add(cookie, value);
            }
        }

        protected override void OnSelChange(int cookie)
        {

            string selectedValue = itemMap[cookie];

            Trace.Write(string.Format("cookie={0},value={1}", cookie, selectedValue));

        }

        public static int CalculateItemSizeString(string caption, int comboBoxSize)
        {
            int adjustment = 5;

            var i = caption.Length + comboBoxSize;

            return i - 5;

            // sizeString
        }

    }

}

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X