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
}
}
}